Bug fix: -as mkisofs without -graft-points could noy handle names with "="
This commit is contained in:
parent
2029d364a4
commit
1ddd7df3e5
@ -1686,9 +1686,16 @@ is_pathspec_2:;
|
|||||||
pathspec[0]= '/';
|
pathspec[0]= '/';
|
||||||
pathspec[1]= 0;
|
pathspec[1]= 0;
|
||||||
ret= Sfile_leafname(eff_path, pathspec+1, 0);
|
ret= Sfile_leafname(eff_path, pathspec+1, 0);
|
||||||
if(ret>0)
|
if(ret>0) {
|
||||||
|
ret= Fileliste__escape_source_path(pathspec, SfileadrL, 0);
|
||||||
|
if(ret <= 0) {
|
||||||
|
Xorriso_msgs_submit(xorriso, 0,
|
||||||
|
"Escaped leaf name gets much too long",
|
||||||
|
0, "FAILURE", 0);
|
||||||
|
goto problem_handler_2;
|
||||||
|
}
|
||||||
strcat(pathspec, "=");
|
strcat(pathspec, "=");
|
||||||
else
|
} else
|
||||||
pathspec[0]= 0;
|
pathspec[0]= 0;
|
||||||
}
|
}
|
||||||
strcat(pathspec, eff_path);
|
strcat(pathspec, eff_path);
|
||||||
|
@ -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-2012 Thomas Schmitt, <scdbackup@gmx.net>
|
||||||
|
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
|
|
||||||
@ -1110,6 +1110,28 @@ int Fileliste__target_source_limit(char *line, char sep, char **limit_pt,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int Fileliste__escape_source_path(char *line, int size, int flag)
|
||||||
|
{
|
||||||
|
int l, count= 0, i;
|
||||||
|
char *wpt;
|
||||||
|
|
||||||
|
l= strlen(line);
|
||||||
|
for(i= 0; i < l; i++)
|
||||||
|
if(line[i] == '=' || line[i] == '\\')
|
||||||
|
count++;
|
||||||
|
if(l + count >= size)
|
||||||
|
return(0);
|
||||||
|
|
||||||
|
wpt= line + l + count;
|
||||||
|
for(i= l; i >= 0; i--) {
|
||||||
|
*(wpt--)= line[i];
|
||||||
|
if(line[i] == '=' || line[i] == '\\')
|
||||||
|
*(wpt--)= '\\';
|
||||||
|
}
|
||||||
|
return(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int Xorriso__bourne_to_reg(char bourne_expr[], char reg_expr[], int flag)
|
int Xorriso__bourne_to_reg(char bourne_expr[], char reg_expr[], int flag)
|
||||||
/* reg_expr should be twice as large as bourne_expr ( + 2 to be exact) */
|
/* reg_expr should be twice as large as bourne_expr ( + 2 to be exact) */
|
||||||
/* return: 2= bourne_expr is surely a constant */
|
/* return: 2= bourne_expr is surely a constant */
|
||||||
|
@ -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-2012 Thomas Schmitt, <scdbackup@gmx.net>
|
||||||
|
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
|
|
||||||
@ -54,6 +54,8 @@ int Wait_for_input(int fd, int microsec, int flag);
|
|||||||
int Fileliste__target_source_limit(char *line, char sep, char **limit_pt,
|
int Fileliste__target_source_limit(char *line, char sep, char **limit_pt,
|
||||||
int flag);
|
int flag);
|
||||||
|
|
||||||
|
int Fileliste__escape_source_path(char *line, int size, int flag);
|
||||||
|
|
||||||
int Hex_to_bin(char *hex,
|
int Hex_to_bin(char *hex,
|
||||||
int bin_size, int *bin_count, unsigned char *bin_data, int flag);
|
int bin_size, int *bin_count, unsigned char *bin_data, int flag);
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2012.03.21.193557"
|
#define Xorriso_timestamP "2012.03.22.084956"
|
||||||
|
Loading…
Reference in New Issue
Block a user