From 9ae189a5e0758979111846ce978e9807d485643d Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Wed, 22 Oct 2008 11:02:53 +0000 Subject: [PATCH] New options --quoted_path_list , isolinux_mbr= for -as mkisofs --- xorriso/xorriso.1 | 5 ++++- xorriso/xorriso.c | 39 +++++++++++++++++++++++++++++++------ xorriso/xorriso_timestamp.h | 2 +- 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index 4d014ed8..2e89a44d 100644 --- a/xorriso/xorriso.1 +++ b/xorriso/xorriso.1 @@ -2,7 +2,7 @@ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) -.TH XORRISO 1 "Oct 20, 2008" +.TH XORRISO 1 "Oct 22, 2008" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -2115,6 +2115,9 @@ Writing to stdout is possible only if -as "mkisofs" was among the start arguments or if other start arguments pointed the output drive to standard output. .br +Not original mkisofs options are --quoted_path_list (see -quoted_path_list) +and isolinux_mbr= (see -boot_image isolinux isohybrid=). +.br Personalites "\fBxorrisofs\fR", "\fBgenisoimage\fR", and "\fBgenisofs\fR" are aliases for "mkisofs". .br diff --git a/xorriso/xorriso.c b/xorriso/xorriso.c index f3ead8ab..4aa848e0 100644 --- a/xorriso/xorriso.c +++ b/xorriso/xorriso.c @@ -9105,10 +9105,19 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom, " -C PARAMS, -cdrecord-params PARAMS", " Magic paramters from cdrecord", " -path-list FILE File with list of pathnames to process", +" --quoted_path_list FILE File with list of quoted pathnames to process", " -print-size Print estimated filesystem size and exit", " -quiet Run quietly", " -R, -rock Generate Rock Ridge directory information", " -V ID, -volid ID Set Volume ID", +" -b FILE, -eltorito-boot FILE", +" Set El Torito boot image name", +" -c FILE, -eltorito-catalog FILE", +" Set El Torito boot catalog name", +" -boot-load-size # Set numbers of load sectors", +" -no-emul-boot Boot image is 'no emulation' image", +" -boot-info-table Patch boot image with info table", +" isolinux_mbr=on|auto|off Control eventual isohybrid MBR generation", " -v, -verbose Verbose", " -version Print the current version", "@End_of_helptexT@" @@ -9165,7 +9174,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom, Xorriso_option_report_about(xorriso, "NOTE", 0); for(i= 0; strcmp(helptext[i], "@End_of_helptexT@")!=0; i++) { sprintf(xorriso->info_text, "%s\n", helptext[i]); - Xorriso_info(xorriso,0); + Xorriso_info(xorriso, 1); } Xorriso_option_report_about(xorriso, ra_text, 0); } else if(strcmp(argv[i], "-v")==0 || strcmp(argv[i], "-verbose")==0) { @@ -9197,7 +9206,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom, no_emul_boot= 1; } else if(strcmp(argv[i], "-boot-info-table")==0) { ; - } else if(strcmp(argv[i], "-b") == 0) { + } else if(strcmp(argv[i], "-b") == 0 || + strcmp(argv[i], "-eltorito-boot") == 0) { if(i+1>=argc) goto not_enough_args; i++; @@ -9211,7 +9221,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom, option_b= 1; xorriso->keep_boot_image= 0; xorriso->patch_isolinux_image= 0; - } else if(strcmp(argv[i], "-c") == 0) { + } else if(strcmp(argv[i], "-c") == 0 || + strcmp(argv[i], "-eltorito-catalog") == 0) { if(i+1>=argc) goto not_enough_args; i++; @@ -9228,6 +9239,11 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom, i++; sscanf(argv[i], "%d", &ret); xorriso->boot_image_load_size= ret * 512; + } else if(strncmp(argv[i], "isolinux_mbr=", 13)==0) { + sprintf(sfe, "isohybrid=%s", argv[i] + 13); + ret= Xorriso_option_boot_image(xorriso, "isolinux", sfe, 0); + if(ret <= 0) + goto ex; } else was_other_option= 1; } @@ -9358,6 +9374,13 @@ not_enough_args:; ret= Xorriso_option_path_list(xorriso, argv[i], 0); if(ret<=0) goto ex; + } else if(strcmp(argv[i], "--quoted_path_list")==0) { + if(i+1>=argc) + goto not_enough_args; + i++; + ret= Xorriso_option_path_list(xorriso, argv[i], 1); + if(ret<=0) + goto ex; } else if(strcmp(argv[i], "-f")==0 || strcmp(argv[i], "-follow-links")==0) { /* was already handled in first argument scan */; } else if(strcmp(argv[i], "-pad")==0) { @@ -9424,12 +9447,16 @@ not_enough_args:; /* was already handled in first argument scan */; } else if(strcmp(argv[i], "-no-emul-boot")==0) { /* was already handled in first argument scan */; - } else if(strcmp(argv[i], "-b") == 0) { + } else if(strcmp(argv[i], "-b") == 0 || + strcmp(argv[i], "-eltorito-boot") == 0) { i++; /* was already handled in first argument scan */; - } else if(strcmp(argv[i], "-c") == 0) { + } else if(strcmp(argv[i], "-c") == 0 || + strcmp(argv[i], "-eltorito-catalog") == 0) { i++; /* was already handled in first argument scan */; + } else if(strncmp(argv[i], "isolinux_mbr=", 13)==0) { + /* was already handled in first argument scan */; } else if(strcmp(argv[i], "-boot-load-size") == 0) { i++; /* was already handled in first argument scan */; @@ -10534,7 +10561,7 @@ int Xorriso_option_boot_image(struct XorrisO *xorriso, char *form, xorriso->boot_image_isohybrid= 0; else if(strcmp(treatpt + 10, "auto") == 0) xorriso->boot_image_isohybrid= 1; - else if(strcmp(treatpt + 10, "off") == 0) + else if(strcmp(treatpt + 10, "on") == 0) xorriso->boot_image_isohybrid= 2; else if(strcmp(treatpt + 10, "force") == 0) xorriso->boot_image_isohybrid= 3; diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 67d0251f..f546871e 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2008.10.21.123226" +#define Xorriso_timestamP "2008.10.22.110204"