Bug fix: -extract was not immediately aborted if -abort_on was triggered
This commit is contained in:
parent
55c0af9653
commit
264615efee
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
||||||
|
|
||||||
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
|
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
|
||||||
|
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
|
|
||||||
@ -1413,7 +1413,7 @@ int Xorriso_restore_sorted(struct XorrisO *xorriso, int count,
|
|||||||
(off_t) 0, (off_t) 0, hflag);
|
(off_t) 0, (off_t) 0, hflag);
|
||||||
if(ret <= 0) {
|
if(ret <= 0) {
|
||||||
(*problem_count)++;
|
(*problem_count)++;
|
||||||
hret= Xorriso_eval_problem_status(xorriso, ret, 0);
|
hret= Xorriso_eval_problem_status(xorriso, ret, 1 | 2);
|
||||||
if(hret < 0)
|
if(hret < 0)
|
||||||
goto ex;
|
goto ex;
|
||||||
}
|
}
|
||||||
@ -1436,7 +1436,7 @@ int Xorriso_restore_sorted(struct XorrisO *xorriso, int count,
|
|||||||
(off_t) 0, (off_t) 0, (2 << 7) | (flag & 32));
|
(off_t) 0, (off_t) 0, (2 << 7) | (flag & 32));
|
||||||
if(ret <= 0) {
|
if(ret <= 0) {
|
||||||
(*problem_count)++;
|
(*problem_count)++;
|
||||||
hret= Xorriso_eval_problem_status(xorriso, ret, 0);
|
hret= Xorriso_eval_problem_status(xorriso, ret, 1 | 2);
|
||||||
if(hret < 0)
|
if(hret < 0)
|
||||||
goto ex;
|
goto ex;
|
||||||
}
|
}
|
||||||
@ -1456,8 +1456,8 @@ int Xorriso_restore_sorted(struct XorrisO *xorriso, int count,
|
|||||||
(off_t) 0, (off_t) 0, flag & 32);
|
(off_t) 0, (off_t) 0, flag & 32);
|
||||||
if(ret <= 0) {
|
if(ret <= 0) {
|
||||||
(*problem_count)++;
|
(*problem_count)++;
|
||||||
hret= Xorriso_eval_problem_status(xorriso, ret, 0);
|
hret= Xorriso_eval_problem_status(xorriso, ret, 1 | 2);
|
||||||
if(ret < 0)
|
if(hret < 0)
|
||||||
goto ex;
|
goto ex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
||||||
|
|
||||||
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
|
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
|
||||||
|
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
|
|
||||||
@ -581,7 +581,7 @@ int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
|
|||||||
if(ret>0 && !xorriso->request_to_abort)
|
if(ret>0 && !xorriso->request_to_abort)
|
||||||
continue; /* regular bottom of loop */
|
continue; /* regular bottom of loop */
|
||||||
was_failure= 1;
|
was_failure= 1;
|
||||||
fret= Xorriso_eval_problem_status(xorriso, ret, 2);
|
fret= Xorriso_eval_problem_status(xorriso, ret, 1 | 2);
|
||||||
if(fret>=0)
|
if(fret>=0)
|
||||||
continue;
|
continue;
|
||||||
goto ex;
|
goto ex;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
||||||
|
|
||||||
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
|
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
|
||||||
|
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
|
|
||||||
@ -1007,7 +1007,7 @@ int Xorriso_restore_disk_object(struct XorrisO *xorriso,
|
|||||||
}
|
}
|
||||||
if(ret & 4) {
|
if(ret & 4) {
|
||||||
/* Found siblings with non-NULL target, but did not link. */
|
/* Found siblings with non-NULL target, but did not link. */
|
||||||
ret= Xorriso_eval_problem_status(xorriso, 1, 0);
|
ret= Xorriso_eval_problem_status(xorriso, 1, 1 | 2);
|
||||||
if(ret < 0)
|
if(ret < 0)
|
||||||
{ret= 0; goto ex;}
|
{ret= 0; goto ex;}
|
||||||
}
|
}
|
||||||
@ -1574,15 +1574,24 @@ attach_source:;
|
|||||||
} else if(is_dir && !source_is_split) {
|
} else if(is_dir && !source_is_split) {
|
||||||
|
|
||||||
if(!node_register) {
|
if(!node_register) {
|
||||||
if(new_dir_made) /* keep open and push to Permstack */
|
if(new_dir_made) { /* keep open and push to Permstack */
|
||||||
Xorriso_restore_properties(xorriso, disk_path, node,
|
ret= Xorriso_restore_properties(xorriso, disk_path, node,
|
||||||
2 | !!(flag&64));
|
2 | !!(flag&64));
|
||||||
|
if(ret <= 0) {
|
||||||
|
hret= Xorriso_eval_problem_status(xorriso, ret, 1 | 2);
|
||||||
|
if(hret < 0)
|
||||||
|
goto ex;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(!(flag&32)) {
|
if(!(flag&32)) {
|
||||||
ret= Xorriso_restore_tree(xorriso, (IsoDir *) node, img_path, path,
|
ret= Xorriso_restore_tree(xorriso, (IsoDir *) node, img_path, path,
|
||||||
(off_t) 0, NULL, flag & (2 | 64 | (3 << 7)));
|
(off_t) 0, NULL, flag & (2 | 64 | (3 << 7)));
|
||||||
if(ret<=0)
|
if(ret <= 0) {
|
||||||
|
hret= Xorriso_eval_problem_status(xorriso, ret, 1 | 2);
|
||||||
|
if(hret < 0)
|
||||||
goto ex;
|
goto ex;
|
||||||
|
}
|
||||||
if(new_dir_made && !(flag&64))
|
if(new_dir_made && !(flag&64))
|
||||||
/* set timestamps which Permstack_pop() will not set */
|
/* set timestamps which Permstack_pop() will not set */
|
||||||
Xorriso_restore_properties(xorriso, disk_path, node, 2);
|
Xorriso_restore_properties(xorriso, disk_path, node, 2);
|
||||||
@ -1598,10 +1607,13 @@ attach_source:;
|
|||||||
} else {
|
} else {
|
||||||
ret= Xorriso_restore_disk_object(xorriso, img_path, node, path,
|
ret= Xorriso_restore_disk_object(xorriso, img_path, node, path,
|
||||||
offset, bytes, (flag & (2|4|64)) | !!(flag&8));
|
offset, bytes, (flag & (2|4|64)) | !!(flag&8));
|
||||||
if(ret<=0)
|
if(ret <= 0) {
|
||||||
|
hret= Xorriso_eval_problem_status(xorriso, ret, 1 | 2);
|
||||||
|
if(hret < 0)
|
||||||
goto ex;
|
goto ex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else
|
} else
|
||||||
*npt= '/';
|
*npt= '/';
|
||||||
}
|
}
|
||||||
@ -1682,7 +1694,7 @@ int Xorriso_restore_node_array(struct XorrisO *xorriso, int flag)
|
|||||||
}
|
}
|
||||||
if(ret & 4) {
|
if(ret & 4) {
|
||||||
/* Found elder siblings, but did not link. */
|
/* Found elder siblings, but did not link. */
|
||||||
ret= Xorriso_eval_problem_status(xorriso, 1, 0);
|
ret= Xorriso_eval_problem_status(xorriso, 1, 1 | 2);
|
||||||
if(ret < 0)
|
if(ret < 0)
|
||||||
{ret= 0; goto ex;}
|
{ret= 0; goto ex;}
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2011.08.15.132616"
|
#define Xorriso_timestamP "2011.08.15.171835"
|
||||||
|
Loading…
Reference in New Issue
Block a user