New command -update_lxi
This commit is contained in:
@ -631,6 +631,7 @@ int Xorriso_alloc_pattern_mem(struct XorrisO *xorriso, off_t mem,
|
||||
|
||||
/* @param flag bit0= a match count !=1 is a FAILURE event
|
||||
bit1= with bit0 tolerate 0 matches if pattern is a constant
|
||||
bit3= do not add unresolved pattern to filev
|
||||
*/
|
||||
int Xorriso_expand_disk_pattern(struct XorrisO *xorriso,
|
||||
int num_patterns, char **patterns, int extra_filec,
|
||||
@ -679,7 +680,8 @@ int Xorriso_expand_disk_pattern(struct XorrisO *xorriso,
|
||||
mem, &dive_count, 1 | abs_adr);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
if(was_count==count && strcmp(patterns[i],"*")!=0 && (flag&3)!=1) {
|
||||
if(was_count==count && strcmp(patterns[i],"*")!=0 && (flag&3)!=1 &&
|
||||
!(flag & 8)) {
|
||||
count++;
|
||||
ret= Xorriso_eval_nonmatch(xorriso, patterns[i],
|
||||
&nonconst_mismatches, mem, 0);
|
||||
@ -697,7 +699,7 @@ int Xorriso_expand_disk_pattern(struct XorrisO *xorriso,
|
||||
(*mem)+= extra_filec * sizeof(char *);
|
||||
|
||||
if(count<=0)
|
||||
{ret= 0; goto ex;}
|
||||
{ret= !(flag & 8); goto ex;}
|
||||
|
||||
ret= Xorriso_alloc_pattern_mem(xorriso, *mem, count, filev, 0);
|
||||
if(ret<=0)
|
||||
@ -709,7 +711,7 @@ int Xorriso_expand_disk_pattern(struct XorrisO *xorriso,
|
||||
ret= Xorriso_prepare_expansion_pattern(xorriso, patterns[i], 4);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
if(ret == 2)
|
||||
if(ret==2)
|
||||
abs_adr= 4;
|
||||
|
||||
if(patterns[i][0]=='/' || abs_adr) {
|
||||
@ -727,7 +729,8 @@ int Xorriso_expand_disk_pattern(struct XorrisO *xorriso,
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
|
||||
if(was_filec == *filec && strcmp(patterns[i],"*")!=0) {
|
||||
if(was_filec == *filec && strcmp(patterns[i],"*")!=0 && (flag & 3) != 1 &&
|
||||
!(flag & 8)) {
|
||||
(*filev)[*filec]= strdup(patterns[i]);
|
||||
if((*filev)[*filec]==NULL) {
|
||||
(*mem)= strlen(patterns[i])+1;
|
||||
|
Reference in New Issue
Block a user