"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "xorriso/iso_manip.c" between
xorriso-1.4.6.tar.gz and xorriso-1.4.8.tar.gz

About: GNU xorriso creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. It is suitable for incremental data backup and for production of bootable ISO 9660 images. GNU xorriso is a statical compilation of the libraries libburn, libisofs, libisoburn, and libjte.

iso_manip.c  (xorriso-1.4.6):iso_manip.c  (xorriso-1.4.8)
skipping to change at line 2950 skipping to change at line 2950
struct iso_hfsplus_xinfo_data *hfsplus_xinfo; struct iso_hfsplus_xinfo_data *hfsplus_xinfo;
if(ftest == NULL) if(ftest == NULL)
return(1); return(1);
node= (IsoNode *) node_pt; node= (IsoNode *) node_pt;
arg1= ftest->arg1; arg1= ftest->arg1;
arg2= ftest->arg2; arg2= ftest->arg2;
if(node == NULL) { if(node == NULL) {
if(ftest->test_type > 2 && ftest->test_type != 4) { switch(ftest->test_type) {
case 0: case 1: case 2: case 4: case 11: case 12: case 13:
case 22: case 23: case 25: case 26:
/* Tests which need no node parameter */
break;
default:
value= 0; value= 0;
goto ex; goto ex;
} }
} }
switch(ftest->test_type) { switch(ftest->test_type) {
case 0: /* -false */ case 0: /* -false */
value= 0; value= 0;
break; case 1: /* -name *arg1 (regex in *arg2) */ break; case 1: /* -name *arg1 (regex in *arg2) */
skipping to change at line 3180 skipping to change at line 3185
break; case 23: /* -or_use_pattern */ break; case 23: /* -or_use_pattern */
ftest->boss->use_pattern= (strcmp(arg1, "off") != 0); ftest->boss->use_pattern= (strcmp(arg1, "off") != 0);
value= 0; value= 0;
break; case 24: /* -name_limit_blocker */ break; case 24: /* -name_limit_blocker */
ret= Xorriso_truncate_uniquely(xorriso, *((int *) arg1), node, path, path, ret= Xorriso_truncate_uniquely(xorriso, *((int *) arg1), node, path, path,
1 | 4); 1 | 4);
value= (ret == 0); value= (ret == 0);
break; case 25: /* -maxdepth */
value= (ftest->boss->depth <= *((int *) arg1));
break; case 26: /* -mindepth */
value= (ftest->boss->depth >= *((int *) arg1));
break; default: break; default:
/* >>> complain about unknown test type */; /* >>> complain about unknown test type */;
value= -1; value= -1;
} }
ex:; ex:;
if(ftest->invert && value<=1 && value>=0) if(ftest->invert && value<=1 && value>=0)
skipping to change at line 3259 skipping to change at line 3270
IsoDir *dir_node= NULL; IsoDir *dir_node= NULL;
IsoNode *node, *iso_node; IsoNode *node, *iso_node;
IsoImage *volume= NULL; IsoImage *volume= NULL;
struct stat stbuf; struct stat stbuf;
char *name; char *name;
off_t mem; off_t mem;
IsoNode **node_array= NULL; IsoNode **node_array= NULL;
int node_count= 0, node_idx; int node_count= 0, node_idx;
char *path= NULL, *abs_path= NULL; char *path= NULL, *abs_path= NULL;
job->depth= depth;
if(xorriso->request_to_abort) if(xorriso->request_to_abort)
{ret= 0; goto ex;} {ret= 0; goto ex;}
path= malloc(SfileadrL); path= malloc(SfileadrL);
abs_path= malloc(SfileadrL); abs_path= malloc(SfileadrL);
if(path==NULL || abs_path==NULL) { if(path==NULL || abs_path==NULL) {
Xorriso_no_malloc_memory(xorriso, &path, 0); Xorriso_no_malloc_memory(xorriso, &path, 0);
{ret= -1; goto ex;} {ret= -1; goto ex;}
} }
skipping to change at line 3356 skipping to change at line 3369
action == 32 || action == 41 || action == 42) action == 32 || action == 41 || action == 42)
hflag|= 2; /* need freedom to manipulate image */ hflag|= 2; /* need freedom to manipulate image */
if(action==14 || action==17 || action == 28 || action == 35 || action == 36 || if(action==14 || action==17 || action == 28 || action == 35 || action == 36 ||
action == 41) action == 41)
hflag|= 4; /* need LBA sorted iteration for good data reading performance */ hflag|= 4; /* need LBA sorted iteration for good data reading performance */
ret= Xorriso_findi_iter(xorriso, dir_node, &mem, ret= Xorriso_findi_iter(xorriso, dir_node, &mem,
&iter, &node_array, &node_count, &node_idx, &iter, &node_array, &node_count, &node_idx,
&node, hflag); &node, hflag);
if(ret<=0) if(ret<=0)
goto ex; goto ex;
job->depth++;
while(1) { while(1) {
ret= Xorriso_findi_iter(xorriso, dir_node, &mem, &iter, ret= Xorriso_findi_iter(xorriso, dir_node, &mem, &iter,
&node_array, &node_count, &node_idx, &node, 0); &node_array, &node_count, &node_idx, &node, 0);
if(ret<0) if(ret<0)
goto ex; goto ex;
if(ret==0) if(ret==0)
break; break;
name= (char *) iso_node_get_name(node); name= (char *) iso_node_get_name(node);
ret= Xorriso_make_abs_adr(xorriso, dir_path, name, path, 4); ret= Xorriso_make_abs_adr(xorriso, dir_path, name, path, 4);
if(ret<=0) if(ret<=0)
skipping to change at line 3435 skipping to change at line 3449
goto ex; goto ex;
if(xorriso->request_to_abort) if(xorriso->request_to_abort)
{ret= 0; goto ex;} {ret= 0; goto ex;}
if(ret == 4) if(ret == 4)
goto ex; goto ex;
} }
} }
ret= 1; ret= 1;
ex:; ex:;
job->depth= depth;
if(path!=NULL) if(path!=NULL)
free(path); free(path);
if(abs_path!=NULL) if(abs_path!=NULL)
free(abs_path); free(abs_path);
Xorriso_process_msg_queues(xorriso,0); Xorriso_process_msg_queues(xorriso,0);
Xorriso_findi_iter(xorriso, dir_node, &mem, &iter, &node_array, &node_count, Xorriso_findi_iter(xorriso, dir_node, &mem, &iter, &node_array, &node_count,
&node_idx, &node, (1<<31)); &node_idx, &node, (1<<31));
if(ret<=0) if(ret<=0)
return(ret); return(ret);
skipping to change at line 3945 skipping to change at line 3960
bit1= with bit0: check for search rather than for setting bit1= with bit0: check for search rather than for setting
bit2= copy 2 times 4 bytes without any check bit2= copy 2 times 4 bytes without any check
*/ */
int Xorriso_hfsplus_file_creator_type(struct XorrisO *xorriso, char *path, int Xorriso_hfsplus_file_creator_type(struct XorrisO *xorriso, char *path,
void *in_node, void *in_node,
char *creator, char *hfs_type, int flag) char *creator, char *hfs_type, int flag)
{ {
int ret; int ret;
IsoNode *node; IsoNode *node;
if(in_node == NULL && !(flag * 1)) { if(in_node == NULL && !(flag & 1)) {
ret= Xorriso_node_from_path(xorriso, NULL, path, &node, 0); ret= Xorriso_node_from_path(xorriso, NULL, path, &node, 0);
if(ret <= 0) if(ret <= 0)
return(ret); return(ret);
} else } else
node= (IsoNode *) in_node; node= (IsoNode *) in_node;
if(flag & 4) { if(flag & 4) {
; ;
} else if((creator[0] == 0 && hfs_type[0] == 0) || } else if((creator[0] == 0 && hfs_type[0] == 0) ||
strcmp(creator, "--delete") == 0) { strcmp(creator, "--delete") == 0) {
if(flag & 2) { if(flag & 2) {
 End of changes. 6 change blocks. 
2 lines changed or deleted 17 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)