diff --git a/libisoburn/trunk/test/xorriso.1 b/libisoburn/trunk/test/xorriso.1 index 4debc45b..4b9083a8 100644 --- a/libisoburn/trunk/test/xorriso.1 +++ b/libisoburn/trunk/test/xorriso.1 @@ -623,21 +623,21 @@ SORRY event occured. .TP .B Settings for data insertion: .TP -> \fB\-f\fR -Follow symbolic links under disk_paths. +> \fB\-follow\fR "on"|"off" +Enable or disable resolution of symbolic links under disk_paths. +If disabled by "off" then symbolic links are added as link objects with +unchanged target address. If enabled by "on", then the link target gets added. .TP -> \fB\-f-off\fR -Do not follow symbolic links under disk_paths. -.TP -\fB\-graft-points\fR -For xorriso action -add this enables pathspecs of the form +\fB\-pathspecs\fR "on"|"off" +Control parameter interpretation with xorriso action -add. +.br +"on" enables pathspecs of the form .B target=source -like with program mkisofs. It also disables pattern expansion for -command -add. -.TP -\fB\-graft-points-off\fR -For xorriso action -add this disables pathspecs of the form target=source -and eventually enables -disk_pattern expansion for command -add. +like with program mkisofs -graft-points. +It also disables -disk_pattern expansion for command -add. +.br +"off" disables pathspecs of the form target=source +and eventually enables -disk_pattern expansion. .TP .B Settings for result writing: .TP diff --git a/libisoburn/trunk/test/xorriso.c b/libisoburn/trunk/test/xorriso.c index f4201e12..147eb58b 100644 --- a/libisoburn/trunk/test/xorriso.c +++ b/libisoburn/trunk/test/xorriso.c @@ -3450,21 +3450,15 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag) Xorriso_status_result(xorriso,filter,fp,flag&2); } - if(xorriso->allow_graft_points) { - sprintf(line,"-graft-points\n"); + is_default= !xorriso->allow_graft_points; + sprintf(line,"-pathspecs %s\n", xorriso->allow_graft_points ? "on" : "off"); + if(!(is_default && no_defaults)) Xorriso_status_result(xorriso,filter,fp,flag&2); - } else if(!no_defaults) { - sprintf(line,"-graft-points-off\n"); - Xorriso_status_result(xorriso,filter,fp,flag&2); - } - if(xorriso->do_follow_links) { - sprintf(line,"-f\n"); + is_default= !xorriso->do_follow_links; + sprintf(line,"-follow %s\n", xorriso->do_follow_links ? "on" : "off"); + if(!(is_default && no_defaults)) Xorriso_status_result(xorriso,filter,fp,flag&2); - } else if(!no_defaults) { - sprintf(line,"-f-off\n"); - Xorriso_status_result(xorriso,filter,fp,flag&2); - } is_default= (xorriso->do_overwrite==2); sprintf(line,"-overwrite %s\n",(xorriso->do_overwrite == 1 ? "on" : @@ -5519,11 +5513,18 @@ int Xorriso_option_iso_rr_pattern(struct XorrisO *xorriso, char *mode,int flag) } -/* Options -f and -f-off */ -/* @param flag bit0= -f-off */ -int Xorriso_option_f(struct XorrisO *xorriso, int flag) +/* Option -follow */ +int Xorriso_option_follow(struct XorrisO *xorriso, char *mode, int flag) { - xorriso->do_follow_links= !(flag&1); + if(strcmp(mode, "off")==0) + xorriso->do_follow_links= 0; + else if(strcmp(mode, "on")==0) + xorriso->do_follow_links= 1; + else { + sprintf(xorriso->info_text, "-follow: unknown mode '%s'", mode); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0); + return(0); + } return(1); } @@ -5592,15 +5593,6 @@ int Xorriso_option_gid(struct XorrisO *xorriso, char *gid, int flag) } -/* Option -graft-points */ -/* @param flag bit0= disable graft points */ -int Xorriso_option_graft_points(struct XorrisO *xorriso, int flag) -{ - xorriso->allow_graft_points= !(flag&1); - return(1); -} - - /* Option -help and part of -prog_help */ int Xorriso_option_help(struct XorrisO *xorriso, int flag) { @@ -5666,9 +5658,9 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " filesystem into the ISO image. Much like mkisofs.", " -path-list disk_path", " Like -add but read the pathspecs from file disk_path.", -" -graft-points Allow pathspecs of form iso_rr_path=disk_path", -" -graft-points-off Disallow pathspecs of form iso_rr_path=disk_path", -" but allow eventual -disk_pattern expansion.", +" -pathspecs \"on\"|\"off\" Allow or disallow pathspecs of form ", +" iso_rr_path=disk_path . Only \"off\" allows eventual", +" -disk_pattern expansion.", "", "> -cp_r disk_path [...] iso_rr_path", " Insert the given files or directory trees from filesystem", @@ -5696,8 +5688,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " Delete empty directories.", " -- Mark end of particular action argument list.", "", -"> -f Follow symbolic links within disk_path.", -"> -f-off Do not follow symbolic links within disk_path.", +"> -follow \"on\"|\"off\" Follow symbolic links within disk_path.", "", " -overwrite \"on\"|\"nondir\"|\"off\"", " Allow or disallow to overwrite existing files in ISO image.", @@ -6396,6 +6387,22 @@ ex:; } +/* Option -pathspecs */ +int Xorriso_option_pathspecs(struct XorrisO *xorriso, char *mode, int flag) +{ + if(strcmp(mode, "off")==0) + xorriso->allow_graft_points= 0; + else if(strcmp(mode, "on")==0) + xorriso->allow_graft_points= 1; + else { + sprintf(xorriso->info_text, "-pathspecs: unknown mode '%s'", mode); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0); + return(0); + } + return(1); +} + + /* Option -pkt_output */ int Xorriso_option_pkt_output(struct XorrisO *xorriso, char *mode, int flag) { @@ -6970,11 +6977,9 @@ next_command:; (*idx)++; ret= Xorriso_option_iso_rr_pattern(xorriso, arg1, 0); - } else if(strcmp(cmd,"f")==0) { - ret= Xorriso_option_f(xorriso, 0); - - } else if(strcmp(cmd,"f-off")==0 || strcmp(cmd,"f_off")==0) { - ret= Xorriso_option_f(xorriso, 1); + } else if(strcmp(cmd,"follow")==0) { + (*idx)++; + ret= Xorriso_option_follow(xorriso, arg1, 0); } else if(strcmp(cmd,"find")==0 || strcmp(cmd,"findi")==0) { (*idx)++; @@ -6996,13 +7001,6 @@ next_command:; (*idx)++; ret= Xorriso_option_gid(xorriso,arg1,0); - } else if(strcmp(cmd,"graft-points")==0 || strcmp(cmd,"graft_points")==0) { - ret= Xorriso_option_graft_points(xorriso, 0); - - } else if(strcmp(cmd,"graft-points-off")==0 || - strcmp(cmd,"graft_points_off")==0) { - ret= Xorriso_option_graft_points(xorriso, 1); - } else if(strcmp(cmd,"help")==0) { Xorriso_option_help(xorriso,0); @@ -7075,6 +7073,10 @@ next_command:; (*idx)++; ret= Xorriso_option_path_list(xorriso, arg1, 0); + } else if(strcmp(cmd,"pathspecs")==0) { + (*idx)++; + ret= Xorriso_option_pathspecs(xorriso, arg1, 0); + } else if(strcmp(cmd,"pkt_output")==0) { (*idx)++; ret= Xorriso_option_pkt_output(xorriso, arg1, 0); diff --git a/libisoburn/trunk/test/xorriso.h b/libisoburn/trunk/test/xorriso.h index a96ab87b..c02346b1 100644 --- a/libisoburn/trunk/test/xorriso.h +++ b/libisoburn/trunk/test/xorriso.h @@ -201,9 +201,8 @@ int Xorriso_option_end(struct XorrisO *xorriso, int flag); int Xorriso_option_iso_rr_pattern(struct XorrisO *xorriso, char *mode, int flag); -/* Options -f and -f-off */ -/* @param flag bit0= -f-off */ -int Xorriso_option_f(struct XorrisO *xorriso, int flag); +/* Option -follow */ +int Xorriso_option_follow(struct XorrisO *xorriso, char *mode, int flag); /* Option -find alias -findi */ int Xorriso_option_findi(struct XorrisO *xorriso, char *pattern, int flag); @@ -217,9 +216,8 @@ int Xorriso_option_fs(struct XorrisO *xorriso, char *size, int flag); /* Option -gid */ int Xorriso_option_gid(struct XorrisO *xorriso, char *gid, int flag); -/* Option -graft-points */ -/* @param flag bit0= disable graft points */ -int Xorriso_option_graft_points(struct XorrisO *xorriso, int flag); +/* Option -pathspecs */ +int Xorriso_option_pathspecs(struct XorrisO *xorriso, char *mode, int flag); /* Option -help and part of -prog_help */ int Xorriso_option_help(struct XorrisO *xorriso, int flag); diff --git a/libisoburn/trunk/test/xorriso_timestamp.h b/libisoburn/trunk/test/xorriso_timestamp.h index 3c6f494f..0d1ea380 100644 --- a/libisoburn/trunk/test/xorriso_timestamp.h +++ b/libisoburn/trunk/test/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2007.12.05.143632" +#define Xorriso_timestamP "2007.12.06.150102"