diff --git a/xorriso/xorriso.c b/xorriso/xorriso.c index 3e276744..8aeb1f3b 100644 --- a/xorriso/xorriso.c +++ b/xorriso/xorriso.c @@ -9855,6 +9855,9 @@ int Xorriso_findx(struct XorrisO *xorriso, struct FindjoB *job, char *name= NULL, *path= NULL, *sfe= NULL; char *abs_dir_path_data= NULL, *abs_path= NULL; + if(xorriso->request_to_abort) + {ret= 0; goto ex;} + sfe= malloc(5*SfileadrL); name= malloc(SfileadrL); path= malloc(SfileadrL); @@ -9901,9 +9904,9 @@ int Xorriso_findx(struct XorrisO *xorriso, struct FindjoB *job, if(ret>0) { ret= Xorriso_findx_action(xorriso, job, abs_dir_path, dir_path, depth, flag&1); + if(xorriso->request_to_abort) + {ret= 0; goto ex;} if(ret<=0) { - if(xorriso->request_to_abort) - goto ex; if(Xorriso_eval_problem_status(xorriso, ret, 1|2)<0) goto ex; } @@ -9963,9 +9966,9 @@ int Xorriso_findx(struct XorrisO *xorriso, struct FindjoB *job, goto ex; if(ret>0) { ret= Xorriso_findx_action(xorriso, job, abs_path, path, depth, flag&1); + if(xorriso->request_to_abort) + {ret= 0; goto ex;} if(ret<=0) { - if(xorriso->request_to_abort) - goto ex; if(Xorriso_eval_problem_status(xorriso, ret, 1|2)<0) goto ex; } diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 1f6cd7bb..87402f4f 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2009.08.13.203718" +#define Xorriso_timestamP "2009.08.14.102355" diff --git a/xorriso/xorrisoburn.c b/xorriso/xorrisoburn.c index 527bb2c6..07fef584 100644 --- a/xorriso/xorrisoburn.c +++ b/xorriso/xorrisoburn.c @@ -7870,6 +7870,9 @@ int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job, int node_count, node_idx; char *path= NULL, *abs_path= NULL; + if(xorriso->request_to_abort) + {ret= 0; goto ex;} + path= malloc(SfileadrL); abs_path= malloc(SfileadrL); if(path==NULL || abs_path==NULL) { @@ -7928,6 +7931,8 @@ int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job, flag&(1|2)); if(ret<=0) goto ex; + if(xorriso->request_to_abort) + {ret= 0; goto ex;} if(ret==2) { /* re-determine dir_node in case it has a new persona */ ret= Xorriso_node_from_path(xorriso, volume, path, &iso_node, 1); @@ -7968,7 +7973,7 @@ int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job, &node_array, &node_count, &node_idx, &node, 0); if(ret<0) goto ex; - if(ret==0 || xorriso->request_to_abort) + if(ret==0) break; name= (char *) iso_node_get_name(node); ret= Xorriso_make_abs_adr(xorriso, dir_path, name, path, 4); @@ -7999,6 +8004,8 @@ int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job, goto ex; ret= Xorriso_findi_action(xorriso, job, iter, mem, abs_path, path, node, depth, 1|(flag&2)); + if(xorriso->request_to_abort) + {ret= 0; goto ex;} if(ret==2) { /* node has been deleted */ /* re-determine node in case it has a new persona */ if(volume==NULL) {