Bug fix: xorriso -cut_out deleted previously cut-out pieces of the same file

This commit is contained in:
2009-09-24 15:52:16 +00:00
parent 8357f64287
commit e6a2f5f8c7
5 changed files with 30 additions and 29 deletions

View File

@ -702,7 +702,7 @@ int Xorriso_get_drive_handles(struct XorrisO *xorriso,
ret= burn_drive_get_drive_role(*drive);
if(ret != 1) {
sprintf(xorriso->info_text,
"Output device is not an MMC drive. Desired operation does not apply");
"Output device is not an MMC drive. Desired operation does not apply.");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
return(2);
}
@ -2919,8 +2919,8 @@ cannot_lstat:;
if(ret>0) {
target_is_dir= LIBISO_ISDIR(node);
target_is_split= 0;
if(target_is_dir)
target_is_split= Xorriso_is_split(xorriso, "", (void *) node, 1);
if(target_is_dir && !(xorriso->split_size <= 0))
target_is_split= Xorriso_is_split(xorriso, "", (void *) node, 1 | 2);
if(!((target_is_dir && !target_is_split) && source_is_dir)) {
Xorriso_process_msg_queues(xorriso,0);
@ -3222,8 +3222,8 @@ int Xorriso_graft_in(struct XorrisO *xorriso, void *boss_iter,
target_is_dir= LIBISO_ISDIR(node);
target_is_split= 0;
if(target_is_dir && !(flag&128))
target_is_split= Xorriso_is_split(xorriso, "", (void *) node, 1);
if(target_is_dir && !((flag & 128) || xorriso->split_size <= 0))
target_is_split= Xorriso_is_split(xorriso, "", (void *) node, 1 | 2);
if(!((target_is_dir && !target_is_split) && source_is_dir)) {
Xorriso_process_msg_queues(xorriso,0);
@ -5870,18 +5870,6 @@ int Xorriso_list_formats(struct XorrisO *xorriso, int flag)
return(0);
if(ret == 2)
goto ex;
#ifdef NIX
/* <<< obsoleted by bit0 of Xorriso_get_drive_handles */
ret= burn_drive_get_drive_role(drive);
if(ret!=1) {
sprintf(xorriso->info_text,
"output device is not an MMC drive. -list_format does not apply");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
ret= 2; goto ex;
}
#endif /* NIX */
ret = burn_disc_get_formats(drive, &status, &size, &dummy,
&num_formats);
if(ret<=0) {