Bug fix: -pathspecs "on" did not properly handle "\\="

This commit is contained in:
Thomas Schmitt 2015-12-09 16:23:12 +00:00
parent 1578290202
commit 81fcf5fe6a
4 changed files with 8 additions and 9 deletions

View File

@ -1108,9 +1108,8 @@ int Hex_to_bin(char *hex,
#ifndef Xorriso_fileliste_externaL
/* ??? ts A71006 : Is this compatible with mkisofs pathspecs ?
I dimly remember so */
/* @param flag bit0= pathspec mode "on" rather than "as_mkisofs"
*/
int Fileliste__target_source_limit(char *line, char sep, char **limit_pt,
int flag)
{
@ -1118,7 +1117,7 @@ int Fileliste__target_source_limit(char *line, char sep, char **limit_pt,
for(npt= line;*npt!=0;npt++) {
if(*npt=='\\') {
if(*(npt+1)!=0)
if(*(npt + 1) == '=' || (*(npt + 1) == '\\' && !(flag & 1)))
npt++;
continue;
}

View File

@ -146,7 +146,8 @@ int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv,
strcpy(source, optv[i]);
split= 0;
if(xorriso->allow_graft_points) {
ret= Fileliste__target_source_limit(target, '=', &ept, 0);
ret= Fileliste__target_source_limit(target, '=', &ept,
!(xorriso->allow_graft_points & 2));
if(ret>0) {
*ept= 0;
strcpy(source, ept+1);

View File

@ -530,9 +530,8 @@ struct XorrisO { /* the global context of xorriso */
/* XORRISO options */
int allow_graft_points; /* if not zero: yes
special options:
bit1= continue unescaping after first real '='
(as mkisofs does,
but xorriso did not for years)
bit1= unescape '\\' too,
continue unescaping after first real '='
*/
int allow_restore; /* -2=disallowed until special mode "unblock"

View File

@ -1 +1 @@
#define Xorriso_timestamP "2015.12.09.132636"
#define Xorriso_timestamP "2015.12.09.162402"