New command and -as mkisofs option -genisoimage_completion
This commit is contained in:
parent
5583a1c7f0
commit
1dd5dca5eb
@ -377,6 +377,7 @@ isoburn_toc_disc_get_sectors_v2;
|
||||
isoburn_toc_session_get_sectors_v2;
|
||||
isoburn_toc_track_get_emul_v2;
|
||||
Xorriso_option_chattri;
|
||||
Xorriso_option_genisoimage_completion;
|
||||
Xorriso_option_lfa_flags;
|
||||
} LIBISOBURN1;
|
||||
|
||||
|
@ -121,6 +121,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
||||
m->initial_wdx[0]= 0;
|
||||
m->no_rc= 0;
|
||||
m->argument_emulation= 0;
|
||||
m->genisoimage_completion= 0;
|
||||
m->current_interpreter= 0;
|
||||
|
||||
m->rc_filename_count= Xorriso_rc_nuM;
|
||||
|
@ -651,7 +651,9 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
||||
"-appended_part_as_gpt", "-appended_part_as_apm", "--mbr-force-bootable",
|
||||
"--gpt-iso-bootable", "--gpt-iso-not-ro",
|
||||
"-part_like_isohybrid", "--zisofs-version-2", "--zisofs2-susp-z2",
|
||||
"--zisofs2-susp-zf",
|
||||
"--zisofs2-susp-zf", "-dvd-audio", "-dvd-hybrid", "-long-rr-time",
|
||||
"-no-long-rr-time", "-short-rr-time", "-ignore-error", "-data-change-warn",
|
||||
"-genisoimage_completion",
|
||||
""
|
||||
};
|
||||
static char arg1_options[][41]= {
|
||||
@ -693,6 +695,8 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
||||
"--grub2-sparc-core", "--sort-weight-list", "--sort-weight-patterns",
|
||||
"-hppa-hdrversion", "-file_name_limit", "--set_all_file_dates",
|
||||
"--gpt_disk_guid", "-iso_mbr_part_type", "-eltorito-platform",
|
||||
"-modification-date", "-N", "-omit-version-number", "-new-dir-mode",
|
||||
"-nobak", "-no-bak", "-no-limit-pathtables", "", "",
|
||||
""
|
||||
};
|
||||
static char arg2_options[][41]= {
|
||||
@ -785,16 +789,132 @@ no_volunteer:;
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_genisofs_add_boot(struct XorrisO *xorriso, int flag)
|
||||
/* Try to match unrecognized options as start piece of original
|
||||
genisoimage options. But not the cdrecord or xorrisofs options which are
|
||||
not supported by genisoimage. (cdrecord does no option completion.)
|
||||
@param flag bit0= do not issue error messages
|
||||
*/
|
||||
int Xorriso_genisomage_opt_completion(struct XorrisO *xorriso, char *option,
|
||||
const char **found, int flag)
|
||||
{
|
||||
int ret;
|
||||
static char genisoimage_options[][41]= {
|
||||
"-abstract", "-A", "-appid", "-allow-leading-dots", "-ldots",
|
||||
"-allow-lowercase", "-allow-multidot", "-biblio", "-cache-inodes",
|
||||
"-no-cache-inodes", "-b", "-eltorito-boot", "-eltorito-alt-boot",
|
||||
"-B", "-sparc-boot", "-G",
|
||||
"-hard-disk-boot", "-no-emul-boot", "-no-boot",
|
||||
"-boot-load-seg", "-boot-load-size", "-boot-info-table", "-C",
|
||||
"-cdrecord-params", "-c", "-eltorito-catalog", "-check-oldnames",
|
||||
"-check-session", "-copyright", "-d", "-omit-period", "-D",
|
||||
"-disable-deep-relocation", "-data-change-warn", "-debug",
|
||||
"-dir-mode", "-dvd-video", "-f",
|
||||
"-follow-links", "-file-mode", "-gid", "-gui", "-graft-points",
|
||||
"-hide", "-hide-list", "-hidden", "-hidden-list", "-hide-joliet",
|
||||
"-hide-joliet-list", "-hide-joliet-trans-tbl", "-hide-rr-moved",
|
||||
"-input-charset", "-output-charset",
|
||||
"-iso-level", "-J", "-joliet-long", "-jcharset", "-l",
|
||||
"-full-iso9660-filenames", "-L", "-log-file", "-m",
|
||||
"-exclude-list", "-max-iso9660-filenames", "-M", "-dev",
|
||||
"-N", "-omit-version-number", "-new-dir-mode",
|
||||
"-nobak", "-no-bak",
|
||||
"-force-rr", "-no-rr", "-no-split-symlink-components",
|
||||
"-no-split-symlink-fields", "-o", "-pad", "-no-pad", "-path-list", "-P",
|
||||
"-publisher", "-p", "-preparer",
|
||||
"-print-size", "-quiet", "-R", "-rock",
|
||||
"-r", "-rational-rock", "-relaxed-filenames", "-root",
|
||||
"-old-root", "-s", "-sectype", "-sort",
|
||||
"-sparc-label", "-split-output", "-stream-media-size", "-stream-file-name",
|
||||
"-sunx86-boot", "-sunx86-label", "-sysid", "-T", "-translation-table",
|
||||
"-transparent-compression", "-table-name", "-ucs-level", "-udf",
|
||||
"-uid", "-use-fileversion", "-U",
|
||||
"-untranslated-filenames", "-no-iso-translate", "-V", "-volset",
|
||||
"-volset-size", "-volset-seqno", "-v", "-verbose", "-x", "-XA", "-xa",
|
||||
"-z", "-hfs", "-apple", "-map", "-magic",
|
||||
"-hfs-creator", "-hfs-type", "-probe", "-no-desktop", "-mac-name",
|
||||
"-boot-hfs-file", "-part", "-auto", "-cluster-size", "-hide-hfs",
|
||||
"-hide-hfs-list", "-hfs-volid", "-icon-position", "-root-info",
|
||||
"-prep-boot", "-chrp-t", "-input-hfs-charset", "-output-hfs-charset",
|
||||
"-hfs-unlock", "-hfs-bless", "-hfs-parms", "--cap", "--netatalk",
|
||||
"--double", "--ethershare", "--ushare", "--exchange", "--sgi", "--xinet",
|
||||
"--macbin", "--single", "--dave", "--sfm", "--osx-double", "--osx-hfs",
|
||||
"-alpha-boot", "-hppa-bootloader", "-hppa-cmdline", "-hppa-kernel-32",
|
||||
"-hppa-kernel-64", "-hppa-ramdisk", "-mips-boot", "-mipsel-boot",
|
||||
"-jigdo-jigdo", "-jigdo-template", "-jigdo-min-file-size",
|
||||
"-jigdo-force-md5", "-jigdo-exclude", "-jigdo-map", "-md5-list",
|
||||
"-jigdo-template-compress", "-chrp-boot", "-checksum_algorithm_template",
|
||||
"-checksum_algorithm_iso",
|
||||
""
|
||||
};
|
||||
int i, j, l, count= 0;
|
||||
char *opt, *orig_opt;
|
||||
|
||||
if(xorriso->boot_img_size_default && xorriso->boot_image_emul == 0)
|
||||
xorriso->boot_img_full_size= 1;
|
||||
ret= Xorriso_attach_boot_image(xorriso, 0);
|
||||
if(ret <= 0)
|
||||
xorriso->boot_image_bin_path[0]= 0;
|
||||
return(ret);
|
||||
/* search in genisoimage_options, ignoring leading dashes,
|
||||
count and memorize matches */;
|
||||
|
||||
*found= "";
|
||||
for(j= 0; option[j] != 0; j++)
|
||||
if(option[j] != '-')
|
||||
break;
|
||||
opt= option + j;
|
||||
l= strlen(opt);
|
||||
if(l == 0)
|
||||
goto failure;
|
||||
for(i= 0; genisoimage_options[i][0] != 0; i++) {
|
||||
for(j= 0; genisoimage_options[i][j] != 0; j++)
|
||||
if(genisoimage_options[i][j] != '-')
|
||||
break;
|
||||
orig_opt= genisoimage_options[i] + j;
|
||||
if(strncmp(opt, orig_opt, l) == 0) {
|
||||
count++;
|
||||
*found= genisoimage_options[i];
|
||||
}
|
||||
}
|
||||
if(count == 1) {
|
||||
return(1);
|
||||
} else if(count == 0) {
|
||||
*found= option;
|
||||
if(flag & 1)
|
||||
goto failure;
|
||||
sprintf(xorriso->info_text,
|
||||
"No completion candidate for unrecognized option: %s", option);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
} else {
|
||||
*found= option;
|
||||
if(flag & 1)
|
||||
goto failure;
|
||||
sprintf(xorriso->info_text,
|
||||
"Too many candidates for unrecognized option: %s", option);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
sprintf(xorriso->info_text, "List of genisoimage completion candidates:\n");
|
||||
Xorriso_info(xorriso, 1 | 2);
|
||||
|
||||
/* List all candidates */
|
||||
strcpy(xorriso->info_text, " ");
|
||||
for(i= 0; genisoimage_options[i][0] != 0; i++) {
|
||||
for(j= 0; genisoimage_options[i][j] != 0; j++)
|
||||
if(genisoimage_options[i][j] != '-')
|
||||
break;
|
||||
orig_opt= genisoimage_options[i] + j;
|
||||
if(strncmp(opt, orig_opt, l) == 0) {
|
||||
if(strlen(xorriso->info_text) + strlen(genisoimage_options[i] + 3)
|
||||
> 72) {
|
||||
strcat(xorriso->info_text, "\n");
|
||||
Xorriso_info(xorriso, 1 | 2);
|
||||
strcpy(xorriso->info_text, " ");
|
||||
strcat(xorriso->info_text, genisoimage_options[i]);
|
||||
} else {
|
||||
if(strlen(xorriso->info_text) > 4)
|
||||
strcat(xorriso->info_text, " , ");
|
||||
strcat(xorriso->info_text, genisoimage_options[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
strcat(xorriso->info_text, "\n");
|
||||
Xorriso_info(xorriso, 1 | 2);
|
||||
}
|
||||
failure:;
|
||||
*found= option;
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
@ -862,6 +982,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
||||
" --quoted_path_list FILE File with list of quoted pathnames to process",
|
||||
" -print-size Print estimated filesystem size and exit",
|
||||
" -quiet Run quietly",
|
||||
" -genisoimage_completion Enable completion of genisoimage options",
|
||||
" -gui Switch behaviour for GUI",
|
||||
" -R, -rock Generate Rock Ridge directory information",
|
||||
" -r, -rational-rock Generate rationalized Rock Ridge directory information",
|
||||
@ -1127,6 +1248,7 @@ int Xorriso_genisofs_strip_dash(struct XorrisO *xorriso, char *arg_in,
|
||||
/* Interprets a string of single-char options which have no parameters
|
||||
@param flag bit0= check whether string is ok
|
||||
bit1= this is pass 1
|
||||
bit2= do not issue error messages
|
||||
@return with flag bit0: 0=no , 1=yes, 2= with bit1: non-pass-1 options seen
|
||||
else : 1 = ok , <= 0 indicates error
|
||||
*/
|
||||
@ -1207,6 +1329,8 @@ int Xorriso_genisofs_fused_options(struct XorrisO *xorriso, char *whom,
|
||||
continue;
|
||||
Xorriso_option_zisofs(xorriso, "by_magic=on", 0);
|
||||
} else {
|
||||
if(flag & 4)
|
||||
{ret= 0; goto ex;}
|
||||
sprintf(xorriso->info_text, "-as %s: Unsupported option -%c", whom, *cpt);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
@ -1218,6 +1342,72 @@ ex:;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
@param flag bit0= do not issue error messages
|
||||
@return <=0= error ,
|
||||
1= known option , 2= fused options , 3= completed option
|
||||
4= completion is not enabled
|
||||
*/
|
||||
int Xorriso_genisofs_eff_opt(struct XorrisO *xorriso, char *whom, char *option,
|
||||
const char **found, int flag)
|
||||
{
|
||||
int ret, count,dummy;
|
||||
char *argv[1], ra_text[80];
|
||||
|
||||
*found= option;
|
||||
|
||||
if(!xorriso->genisoimage_completion)
|
||||
return(4);
|
||||
|
||||
/* Check whether option is known */
|
||||
argv[0]= option;
|
||||
ret= Xorriso_genisofs_count_args(xorriso, 1, argv, &count, 0);
|
||||
if(ret > 0) {
|
||||
*found= option;
|
||||
return(1);
|
||||
}
|
||||
|
||||
/* Xorriso_genisofs_fused_options() shall take over if all letters in the
|
||||
unknown option are single-letter options without parameter.
|
||||
|
||||
genisoimage interprets known single letter options as fused,
|
||||
eats further arguments if these options expect parameters,
|
||||
and then tries completion with the rest.
|
||||
cdrecord interprets known single letter options as fused only
|
||||
if they do not expect parameters (like -m or -o). No options completion
|
||||
happens.
|
||||
*/
|
||||
ret= Xorriso_genisofs_fused_options(xorriso, whom, option,
|
||||
&dummy, &dummy, &dummy, ra_text,
|
||||
((flag & 1) << 2) | 1);
|
||||
if(ret > 0) {
|
||||
*found= option;
|
||||
return(2);
|
||||
}
|
||||
|
||||
/* If not known: try to get it by completion of original mkisofs and
|
||||
genisoimage options
|
||||
*/
|
||||
ret= Xorriso_genisomage_opt_completion(xorriso, option, found, flag & 1);
|
||||
if(ret > 0)
|
||||
return(3);
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_genisofs_add_boot(struct XorrisO *xorriso, int flag)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if(xorriso->boot_img_size_default && xorriso->boot_image_emul == 0)
|
||||
xorriso->boot_img_full_size= 1;
|
||||
ret= Xorriso_attach_boot_image(xorriso, 0);
|
||||
if(ret <= 0)
|
||||
xorriso->boot_image_bin_path[0]= 0;
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
/* Implementing mkisofs tendency to map single-path pathspecs to / */
|
||||
int Xorriso_graftable_pathspec(struct XorrisO *xorriso, char *in_pathspec,
|
||||
char *pathspec, int flag)
|
||||
@ -1372,7 +1562,7 @@ wrong_id:;
|
||||
}
|
||||
|
||||
|
||||
/* micro emulation of mkisofs */
|
||||
/* mini emulation of mkisofs */
|
||||
int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
int argc, char **argv, int flag)
|
||||
{
|
||||
@ -1381,7 +1571,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
int was_failure= 0, fret, lower_r= 0, zero= 0;
|
||||
int dir_mode= -1, file_mode= -1, count, partition_number;
|
||||
int allow_dir_id_ext= -1, mem_current_interpreter;
|
||||
int root_seen= 0, do_md5_mem, option_d= 0, arg_count;
|
||||
int root_seen= 0, do_md5_mem, option_d= 0, arg_count, dummy;
|
||||
mode_t mode_and, mode_or;
|
||||
int with_boot_image= 0, with_cat_path= 0, with_emul_toc= 0;
|
||||
int old_root_md5= 1, old_root_dev= 0, old_root_ino= 1, sort_file_pattern= 0;
|
||||
@ -1393,7 +1583,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
char *old_root= NULL, *argpt, *hargv[1];
|
||||
char *boot_path, partno_text[24], *iso_rr_pt, *disk_pt, *rpt, *wpt;
|
||||
char *rm_merge_args[3], *rr_reloc_dir_pt= NULL;
|
||||
char *sort_weight_args[4], *bless_args[6], *sa_path;
|
||||
char *sort_weight_args[4], *bless_args[6], *sa_path, dummy_text[80];
|
||||
const char *eff_option;
|
||||
|
||||
struct stat stbuf;
|
||||
|
||||
@ -1409,8 +1600,27 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
Xorriso_alloc_meM(sort_file, char, SfileadrL);
|
||||
|
||||
for(i= 0; i<argc; i++) {
|
||||
if(strcmp(argv[i], "-log-file") == 0 ||
|
||||
strcmp(argv[i], "--log-file") == 0 ) {
|
||||
if(argv[i][0] != '-')
|
||||
continue;
|
||||
ret= Xorriso_genisofs_eff_opt(xorriso, whom, argv[i], &eff_option, 0);
|
||||
if(ret <= 0) {
|
||||
was_failure= 1;
|
||||
fret= Xorriso_eval_problem_status(xorriso, ret, 1 | 2);
|
||||
if(fret < 0)
|
||||
{ret= 0; goto ex;}
|
||||
continue;
|
||||
} else if(strcmp(argv[i], eff_option) != 0) {
|
||||
sprintf(xorriso->info_text,
|
||||
"-as %s option %s completed to: %s", whom, argv[i], eff_option);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0);
|
||||
}
|
||||
argpt= (char *) eff_option;
|
||||
if(strcmp(eff_option, "-genisoimage_completion") == 0 ||
|
||||
strcmp(eff_option, "--genisoimage_completion") == 0) {
|
||||
xorriso->genisoimage_completion= 1;
|
||||
|
||||
} else if(strcmp(eff_option, "-log-file") == 0 ||
|
||||
strcmp(eff_option, "--log-file") == 0) {
|
||||
if(i + 1 >= argc)
|
||||
goto not_enough_args;
|
||||
i+= 1;
|
||||
@ -1434,6 +1644,21 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
sprintf(xorriso->info_text, "Revoked stderr message redirection");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
}
|
||||
} else {
|
||||
if(argv[i][0] == '-') {
|
||||
if(strcmp(argpt, argv[i]) == 0) {
|
||||
ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1,
|
||||
&dummy, &dummy, &dummy, dummy_text, 1);
|
||||
} else {
|
||||
ret= 0;
|
||||
}
|
||||
if(ret <= 0) {
|
||||
hargv[0]= argv[i];
|
||||
ret= Xorriso_genisofs_count_args(xorriso, 1, hargv, &count, 1);
|
||||
if(ret > 0)
|
||||
i+= count; /* skip eventual arguments of known option */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1455,7 +1680,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
with_cat_path= -1;
|
||||
adr[0]= indev[0]= msc[0]= old_root[0]= sort_file[0]= 0;
|
||||
for(i= 0; i<argc; i++) {
|
||||
ret= Xorriso_genisofs_strip_dash(xorriso, argv[i], &argpt, 0);
|
||||
Xorriso_genisofs_eff_opt(xorriso, whom, argv[i], &eff_option, 1);
|
||||
ret= Xorriso_genisofs_strip_dash(xorriso, (char *) eff_option, &argpt, 0);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
ret= Xorriso_genisofs_ignore(xorriso, whom, argpt, &i, 1);
|
||||
@ -1463,7 +1689,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
continue;
|
||||
if(strcmp(argpt, "-version")==0) {
|
||||
sprintf(xorriso->result_line,
|
||||
"mkisofs 2.01-Emulation Copyright (C) 2019 see libburnia-project.org xorriso\n"
|
||||
"mkisofs 2.01-Emulation Copyright (C) 2024 see libburnia-project.org xorriso\n"
|
||||
);
|
||||
fd= xorriso->dev_fd_1;
|
||||
if(fd<0)
|
||||
@ -1673,7 +1899,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
i++;
|
||||
Xorriso_option_file_name_limit(xorriso, argv[i], 0);
|
||||
} else {
|
||||
if(argv[i][0] == '-') {
|
||||
if(argv[i][0] == '-' && strcmp(argv[i], argpt) == 0) {
|
||||
/* Was not an incomplete genisoimage option */
|
||||
ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1,
|
||||
&option_d, &iso_level, &lower_r, ra_text, 1 | 2);
|
||||
if(ret != 1)
|
||||
@ -1805,7 +2032,8 @@ illegal_c:;
|
||||
sprintf(xorriso->info_text, "-as %s: %s",
|
||||
whom, Text_shellsafe(argv[i], sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0);
|
||||
ret= Xorriso_genisofs_strip_dash(xorriso, argv[i], &argpt, 0);
|
||||
Xorriso_genisofs_eff_opt(xorriso, whom, argv[i], &eff_option, 1);
|
||||
ret= Xorriso_genisofs_strip_dash(xorriso, (char *) eff_option, &argpt, 0);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
ret= Xorriso_genisofs_ignore(xorriso, whom, argpt, &i, 0);
|
||||
@ -1850,8 +2078,6 @@ illegal_c:;
|
||||
goto not_enough_args;
|
||||
/* Memorize command until all pathspecs are processed */
|
||||
delay_opt_list[delay_opt_count++]= i;
|
||||
if(argv[i] != argpt)
|
||||
delay_opt_list[delay_opt_count - 1]|= 1u<<31;
|
||||
i+= arg_count;
|
||||
} else if(strcmp(argpt, "-hfsplus") == 0) {
|
||||
/* was already handled in first argument scan */;
|
||||
@ -1885,7 +2111,7 @@ illegal_c:;
|
||||
if(i+1>=argc) {
|
||||
not_enough_args:;
|
||||
sprintf(xorriso->info_text, "-as %s: Not enough arguments to option %s",
|
||||
whom, argv[i]);
|
||||
whom, argpt);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
}
|
||||
@ -2006,8 +2232,6 @@ not_enough_args:;
|
||||
strcmp(argpt, "-isohybrid-apm-hfsplus")==0 ||
|
||||
strcmp(argpt, "-part_like_isohybrid")==0) {
|
||||
delay_opt_list[delay_opt_count++]= i;
|
||||
if(argv[i] != argpt)
|
||||
delay_opt_list[delay_opt_count - 1]|= 1u<<31;
|
||||
} else if(strcmp(argpt, "-b") == 0 ||
|
||||
strcmp(argpt, "-eltorito-boot") == 0 ||
|
||||
strcmp(argpt, "-eltorito-platform") == 0 ||
|
||||
@ -2036,16 +2260,12 @@ not_enough_args:;
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
delay_opt_list[delay_opt_count++]= i;
|
||||
if(argv[i] != argpt)
|
||||
delay_opt_list[delay_opt_count - 1]|= 1u<<31;
|
||||
i++;
|
||||
|
||||
} else if(strcmp(argpt, "-hide_iso_path") == 0) {
|
||||
if(i + 2 >= argc)
|
||||
goto not_enough_args;
|
||||
delay_opt_list[delay_opt_count++]= i;
|
||||
if(argv[i] != argpt)
|
||||
delay_opt_list[delay_opt_count - 1]|= 1u<<31;
|
||||
i+= 2;
|
||||
|
||||
} else if(strncmp(argpt, "--modification-date=", 20)==0) {
|
||||
@ -2375,9 +2595,17 @@ rr_reloc_dir:;
|
||||
if(ret <= 0)
|
||||
goto problem_handler_2;
|
||||
|
||||
} else if(argpt[0]=='-' && argpt[1]!=0) {
|
||||
} else if(strcmp(eff_option, "-genisoimage_completion") == 0) {
|
||||
/* was already handled before this loop */;
|
||||
|
||||
} else if(argpt[0]=='-') {
|
||||
if(strcmp(argpt, argv[i]) == 0) {
|
||||
/* Was not an incomplete genisoimage option */
|
||||
ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1,
|
||||
&option_d, &iso_level, &lower_r, ra_text, 1);
|
||||
} else {
|
||||
ret= 0;
|
||||
}
|
||||
if(ret == 1) {
|
||||
ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1,
|
||||
&option_d, &iso_level, &lower_r, ra_text, 0);
|
||||
@ -2538,11 +2766,11 @@ problem_handler_2:;
|
||||
/* After all pathspecs are added: perform delayed options, mostly boot related
|
||||
*/
|
||||
for(j= 0; j < delay_opt_count; j++) {
|
||||
i= delay_opt_list[j] & ~(1u << 31);
|
||||
if(delay_opt_list[j] & (1u << 31))
|
||||
argpt= argv[i] + 1;
|
||||
else
|
||||
argpt= argv[i];
|
||||
i= delay_opt_list[j];
|
||||
Xorriso_genisofs_eff_opt(xorriso, whom, argv[i], &eff_option, 1);
|
||||
ret= Xorriso_genisofs_strip_dash(xorriso, (char *) eff_option, &argpt, 0);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
if(strcmp(argpt, "-no-emul-boot")==0) {
|
||||
xorriso->boot_image_emul= 0;
|
||||
xorriso->boot_emul_default= 0;
|
||||
|
@ -1680,6 +1680,25 @@ int Xorriso_option_fs(struct XorrisO *xorriso, char *size, int flag)
|
||||
}
|
||||
|
||||
|
||||
/* Command -genisoimage_completion */
|
||||
int Xorriso_option_genisoimage_completion(struct XorrisO *xorriso,
|
||||
char *mode, int flag)
|
||||
{
|
||||
if(strcmp(mode, "on") == 0) {
|
||||
xorriso->genisoimage_completion= 1;
|
||||
} else if(strcmp(mode, "off") == 0) {
|
||||
xorriso->genisoimage_completion= 0;
|
||||
} else {
|
||||
sprintf(xorriso->info_text, "-genisoimage_completion: unknown mode '%s'",
|
||||
mode);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
return(0);
|
||||
}
|
||||
return(1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Commands -getfacl alias -getfacli, -getfacl_r alias -getfacl_ri
|
||||
-getfattr alias getfattri
|
||||
*/
|
||||
@ -2516,6 +2535,8 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
||||
" For a list of options see -as mkisofs -help.",
|
||||
" -read_mkisofsrc",
|
||||
" Read and interpret the .mkisofsrc configuration file.",
|
||||
" -genisoimage_completion \"on\"|\"off\"",
|
||||
" Enable completion of genisoimage options during -as mkisofs.",
|
||||
" -as cdrecord [-help|-v|dev=|speed=|blank=|fs=|-eject|-atip|padsize=|-multi]",
|
||||
" path|-",
|
||||
" Perform some cdrecord gestures, eventually write at most one",
|
||||
|
@ -590,7 +590,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
||||
"drive_access","dummy","dvd_obs","early_stdio_test","ecma119_map","eject",
|
||||
"extract_boot_images",
|
||||
"iso_nowtime","iso_rr_pattern","file_name_limit","follow","format","fs",
|
||||
"gid","grow_blindly","hardlinks",
|
||||
"genisoimage_completion", "gid", "grow_blindly", "hardlinks",
|
||||
"hfsplus","history","indev","in_charset","joliet","joliet_map",
|
||||
"lfa_flags",
|
||||
"list_delimiter","list_extras","list_profiles","local_charset",
|
||||
@ -1449,6 +1449,10 @@ next_command:;
|
||||
(*idx)++;
|
||||
ret= Xorriso_option_fs(xorriso, arg1, 0);
|
||||
|
||||
} else if(strcmp(cmd, "genisoimage_completion")==0) {
|
||||
(*idx)++;
|
||||
ret= Xorriso_option_genisoimage_completion(xorriso, arg1, 0);
|
||||
|
||||
} else if(strcmp(cmd,"getfacl")==0 || strcmp(cmd,"getfacli")==0) {
|
||||
ret= Xorriso_option_getfacli(xorriso, argc, argv, idx, 0);
|
||||
|
||||
|
@ -3931,6 +3931,12 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
|
||||
is_default= (xorriso->genisoimage_completion == 0);
|
||||
sprintf(line, "-genisoimage_completion %s\n",
|
||||
xorriso->genisoimage_completion ? "on" : "off");
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso, filter, fp, flag & 2);
|
||||
|
||||
is_default= 1;
|
||||
if(xorriso->drive_blacklist != NULL || xorriso->drive_whitelist != NULL ||
|
||||
xorriso->drive_greylist == NULL)
|
||||
|
@ -9,7 +9,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 "Version 1.5.7, Aug 28, 2024"
|
||||
.TH XORRISO 1 "Version 1.5.7, Aug 31, 2024"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -5936,6 +5936,26 @@ VOLI (\-volid) , VOLS (\-volset_id)
|
||||
.br
|
||||
Any other lines will be silently ignored.
|
||||
.TP
|
||||
\fB\-genisoimage_completion\fR "on"|"off"
|
||||
Enable or disable the completion of genisoimage options during \-as mkisofs
|
||||
emulation.
|
||||
.br
|
||||
If enabled by "on", then unrecognized option arguments which begin by
|
||||
a dash '\-' get compared against the known genisoimage options, like program
|
||||
genisoimage does unconditionally (and undocumentedly). If the given argument
|
||||
matches the beginning of exactly one genisoimage option, then it gets replaced
|
||||
by that option.
|
||||
Option arguments which consist entirely of a leading dash and letters out of
|
||||
"dDfJlNRrTUvz" are not matched but rather interpreted as usual, i.e. as
|
||||
multiple options with leading dash and each single letter.
|
||||
If no genisoimage option is found or more than one are found, then a SORRY
|
||||
message is issued and the argument stays as is.
|
||||
.br
|
||||
If disabled by "off", no completion of options happens. Like with enabled
|
||||
completion, option arguments which consist entirely of letters out of
|
||||
"dDfJlNRrTUvz" are not matched but rather interpreted as multiple
|
||||
arguments with leading dash and each single letter.
|
||||
.TP
|
||||
\fB\-pacifier\fR behavior_code
|
||||
Control behavior of UPDATE pacifiers during write operations.
|
||||
The following behavior codes are defined:
|
||||
|
@ -1643,6 +1643,11 @@ int Xorriso_option_follow(struct XorrisO *xorriso, char *mode, int flag);
|
||||
/* @since 0.1.0 */
|
||||
int Xorriso_option_fs(struct XorrisO *xorriso, char *size, int flag);
|
||||
|
||||
/* Command -genisoimage_completion */
|
||||
/* @since 1.5.8 */
|
||||
int Xorriso_option_genisoimage_completion(struct XorrisO *xorriso,
|
||||
char *mode, int flag);
|
||||
|
||||
/* Commands -getfacl alias -getfacli, -getfacl_r alias -getfacl_ri
|
||||
-getfattr alias getfattri
|
||||
*/
|
||||
|
@ -4991,6 +4991,24 @@ said programs trigger comparable actions.
|
||||
APPI (-application_id) , PUBL (-publisher) , SYSI (-system_id) ,
|
||||
VOLI (-volid) , VOLS (-volset_id)
|
||||
Any other lines will be silently ignored.
|
||||
-genisoimage_completion "on"|"off"
|
||||
Enable or disable the completion of genisoimage options during -as
|
||||
mkisofs emulation.
|
||||
If enabled by "on", then unrecognized option arguments which begin
|
||||
by a dash '-' get compared against the known genisoimage options,
|
||||
like program genisoimage does unconditionally (and undocumentedly).
|
||||
If the given argument matches the beginning of exactly one
|
||||
genisoimage option, then it gets replaced by that option. Option
|
||||
arguments which consist entirely of a leading dash and letters out
|
||||
of "dDfJlNRrTUvz" are not matched but rather interpreted as usual,
|
||||
i.e. as multiple options with leading dash and each single letter.
|
||||
If no genisoimage option is found or more than one are found, then
|
||||
a SORRY message is issued and the argument stays as is.
|
||||
If disabled by "off", no completion of options happens. Like with
|
||||
enabled completion, option arguments which consist entirely of
|
||||
letters out of "dDfJlNRrTUvz" are not matched but rather
|
||||
interpreted as multiple arguments with leading dash and each single
|
||||
letter.
|
||||
-pacifier behavior_code
|
||||
Control behavior of UPDATE pacifiers during write operations. The
|
||||
following behavior codes are defined:
|
||||
@ -6086,6 +6104,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -format formats media: Writing. (line 87)
|
||||
* -for_backup acl,xattr,hardlinks,md5,lfa_flags: Loading. (line 304)
|
||||
* -fs sets size of fifo: SetWrite. (line 500)
|
||||
* -genisoimage_completion completion of genisoimage options: Emulation.
|
||||
(line 166)
|
||||
* -getfacl shows ACL in ISO image: Navigate. (line 60)
|
||||
* -getfacl_r shows ACL in ISO image: Navigate. (line 66)
|
||||
* -getfattr shows xattr in ISO image: Navigate. (line 69)
|
||||
@ -6152,7 +6172,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -outdev acquires a drive for output: AqDrive. (line 29)
|
||||
* -out_charset sets output character set: SetWrite. (line 306)
|
||||
* -overwrite enables overwriting in ISO: SetInsert. (line 140)
|
||||
* -pacifier controls pacifier text form: Emulation. (line 166)
|
||||
* -pacifier controls pacifier text form: Emulation. (line 184)
|
||||
* -padding sets amount or mode of image padding: SetWrite. (line 528)
|
||||
* -page set terminal geometry: DialogCtl. (line 18)
|
||||
* -paste_in copies file into disk file: Restore. (line 142)
|
||||
@ -6191,7 +6211,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -rollback_end ends program without writing: Scripting. (line 156)
|
||||
* -rom_toc_scan searches for sessions: Loading. (line 408)
|
||||
* -rr_reloc_dir sets name of relocation directory: SetWrite. (line 171)
|
||||
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 179)
|
||||
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 197)
|
||||
* -scsi_dev_family choose Linux device file type: AqDrive. (line 95)
|
||||
* -scsi_log reports SCSI commands: Scripting. (line 145)
|
||||
* -session_log logs written sessions: Scripting. (line 136)
|
||||
@ -6269,7 +6289,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Backslash Interpretation, _definition: Processing. (line 57)
|
||||
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 356)
|
||||
* Backup, enable features, -for_backup: Loading. (line 304)
|
||||
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 179)
|
||||
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 197)
|
||||
* Blank media, _definition: Media. (line 34)
|
||||
* Blank, format, Immed bit, -use_immed_bit: SetWrite. (line 478)
|
||||
* Blind growing, _definition: Methods. (line 41)
|
||||
@ -6328,7 +6348,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 155)
|
||||
* Emulation, cdrecord, -as: Emulation. (line 120)
|
||||
* Emulation, mkisofs, -as: Emulation. (line 17)
|
||||
* Emulation, pacifier form, -pacifier: Emulation. (line 166)
|
||||
* Emulation, options completion, -genisoimage_completion: Emulation.
|
||||
(line 166)
|
||||
* Emulation, pacifier form, -pacifier: Emulation. (line 184)
|
||||
* Examples: Examples. (line 6)
|
||||
* extattr, _definition: Extras. (line 66)
|
||||
* File content, copy, -concat: Restore. (line 148)
|
||||
@ -6612,31 +6634,31 @@ Node: Navigate230200
|
||||
Node: Verify241417
|
||||
Node: Restore252566
|
||||
Node: Emulation264773
|
||||
Node: Scripting275229
|
||||
Node: Frontend283123
|
||||
Node: Examples292749
|
||||
Node: ExDevices293927
|
||||
Node: ExCreate294588
|
||||
Node: ExDialog295888
|
||||
Node: ExGrowing297159
|
||||
Node: ExModifying297968
|
||||
Node: ExBootable298478
|
||||
Node: ExCharset299033
|
||||
Node: ExPseudo299929
|
||||
Node: ExCdrecord300856
|
||||
Node: ExMkisofs301176
|
||||
Node: ExGrowisofs303073
|
||||
Node: ExException304226
|
||||
Node: ExTime304684
|
||||
Node: ExIncBackup305142
|
||||
Node: ExRestore309168
|
||||
Node: ExRecovery310114
|
||||
Node: Files310686
|
||||
Node: Environ312020
|
||||
Node: Seealso312768
|
||||
Node: Bugreport313532
|
||||
Node: Legal314123
|
||||
Node: CommandIdx315135
|
||||
Node: ConceptIdx333464
|
||||
Node: Scripting276349
|
||||
Node: Frontend284243
|
||||
Node: Examples293869
|
||||
Node: ExDevices295047
|
||||
Node: ExCreate295708
|
||||
Node: ExDialog297008
|
||||
Node: ExGrowing298279
|
||||
Node: ExModifying299088
|
||||
Node: ExBootable299598
|
||||
Node: ExCharset300153
|
||||
Node: ExPseudo301049
|
||||
Node: ExCdrecord301976
|
||||
Node: ExMkisofs302296
|
||||
Node: ExGrowisofs304193
|
||||
Node: ExException305346
|
||||
Node: ExTime305804
|
||||
Node: ExIncBackup306262
|
||||
Node: ExRestore310288
|
||||
Node: ExRecovery311234
|
||||
Node: Files311806
|
||||
Node: Environ313140
|
||||
Node: Seealso313888
|
||||
Node: Bugreport314652
|
||||
Node: Legal315243
|
||||
Node: CommandIdx316255
|
||||
Node: ConceptIdx334729
|
||||
|
||||
End Tag Table
|
||||
|
@ -50,7 +50,7 @@
|
||||
@c man .\" First parameter, NAME, should be all caps
|
||||
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
@c man .\" other parameters are allowed: see man(7), man(1)
|
||||
@c man .TH XORRISO 1 "Version 1.5.7, Aug 28, 2024"
|
||||
@c man .TH XORRISO 1 "Version 1.5.7, Aug 31, 2024"
|
||||
@c man .\" Please adjust this date whenever revising the manpage.
|
||||
@c man .\"
|
||||
@c man .\" Some roff macros, for reference:
|
||||
@ -6738,6 +6738,28 @@ VOLI (-volid) , VOLS (-volset_id)
|
||||
@*
|
||||
Any other lines will be silently ignored.
|
||||
@c man .TP
|
||||
@item -genisoimage_completion "on"|"off"
|
||||
@kindex -genisoimage_completion completion of genisoimage options
|
||||
@cindex Emulation, options completion, -genisoimage_completion
|
||||
Enable or disable the completion of genisoimage options during -as mkisofs
|
||||
emulation.
|
||||
@*
|
||||
If enabled by "on", then unrecognized option arguments which begin by
|
||||
a dash '-' get compared against the known genisoimage options, like program
|
||||
genisoimage does unconditionally (and undocumentedly). If the given argument
|
||||
matches the beginning of exactly one genisoimage option, then it gets replaced
|
||||
by that option.
|
||||
Option arguments which consist entirely of a leading dash and letters out of
|
||||
"dDfJlNRrTUvz" are not matched but rather interpreted as usual, i.e. as
|
||||
multiple options with leading dash and each single letter.
|
||||
If no genisoimage option is found or more than one are found, then a SORRY
|
||||
message is issued and the argument stays as is.
|
||||
@*
|
||||
If disabled by "off", no completion of options happens. Like with enabled
|
||||
completion, option arguments which consist entirely of letters out of
|
||||
"dDfJlNRrTUvz" are not matched but rather interpreted as multiple
|
||||
arguments with leading dash and each single letter.
|
||||
@c man .TP
|
||||
@item -pacifier behavior_code
|
||||
@kindex -pacifier controls pacifier text form
|
||||
@cindex Emulation, pacifier form, -pacifier
|
||||
|
@ -107,6 +107,11 @@ struct XorrisO { /* the global context of xorriso */
|
||||
*/
|
||||
int argument_emulation;
|
||||
|
||||
/* Whether to try completion of unrecognized options to known genisoimage
|
||||
options. 0=no, 1=yes.
|
||||
*/
|
||||
int genisoimage_completion;
|
||||
|
||||
/* Under which interpreter the current activities are running:
|
||||
0=xorriso mode : Xorriso_interpreter()
|
||||
1=mkisofs mode : Xorriso_genisofs()
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2024.09.01.071910"
|
||||
#define Xorriso_timestamP "2024.09.02.130343"
|
||||
|
@ -9,7 +9,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 XORRISOFS 1 "Version 1.5.7, Jul 21, 2024"
|
||||
.TH XORRISOFS 1 "Version 1.5.7, Aug 30, 2024"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -677,7 +677,7 @@ Alias of \-rr_reloc_dir "/.rr_moved"
|
||||
Enable all options which improve backup fidelity:
|
||||
.br
|
||||
\-\-acl, \-\-xattr\-any, \-\-md5,
|
||||
\-\-hardlinks, \-\-lfa_flags.
|
||||
\-\-hardlinks, and possibly \-\-lfa_flags.
|
||||
.br
|
||||
If you later restore a backup with xattr from non\-user namespaces, then make
|
||||
sure that the target operating system and filesystem know what these attributes
|
||||
@ -687,6 +687,10 @@ privileges and just record what is readable.
|
||||
.br
|
||||
Option \-\-xattr after option \-\-for_backup excludes
|
||||
non\-user attributes from being recorded.
|
||||
.br
|
||||
Option \-\-for_backup enables \-\-lfa_flags only if
|
||||
the underlying libisofs was compiled with support for Linux file attributes,
|
||||
which is typically not the case on non\-Linux systems.
|
||||
.TP
|
||||
\fB--acl\fR
|
||||
.br
|
||||
@ -1717,6 +1721,25 @@ The rules for list_of_names are the same as with \-checksum_algorithm_iso.
|
||||
.TP
|
||||
.B Miscellaneous options:
|
||||
.TP
|
||||
\fB\-genisoimage_completion\fR
|
||||
Match unrecognized option arguments which begin by a dash '\-' against the
|
||||
known genisoimage options, like program
|
||||
genisoimage does unconditionally (and undocumentedly). If the given argument
|
||||
matches the beginning of exactly one genisoimage option, then it gets replaced
|
||||
by that option. Options which are genuine to mkisofs or xorriso's mkisofs
|
||||
emulation are not matched that way.
|
||||
Option arguments which consist entirely of a leading dash and letters out of
|
||||
"dDfJlNRrTUvz" are not matched but rather interpreted as usual, i.e. as
|
||||
multiple options with leading dash and each single letter.
|
||||
If no genisoimage option is found or more than one are found, then a SORRY
|
||||
message is issued and the argument stays as is.
|
||||
.br
|
||||
To enable this mode by default, write the xorriso command
|
||||
.br
|
||||
\-genisoimage_completion on
|
||||
.br
|
||||
into one of the xorriso start files. See section FILES.
|
||||
.TP
|
||||
\fB\-print-size\fR
|
||||
Print to stdandard output the foreseeable number of 2048 byte blocks in
|
||||
the emerging ISO image. Do not produce this image.
|
||||
|
@ -3,7 +3,7 @@ xorrisofs.texi.
|
||||
|
||||
xorrisofs - Emulation of ISO 9660 program mkisofs by program xorriso
|
||||
|
||||
Copyright (C) 2011 - 2023 Thomas Schmitt
|
||||
Copyright (C) 2011 - 2024 Thomas Schmitt
|
||||
|
||||
Permission is granted to distribute this text freely.
|
||||
INFO-DIR-SECTION Archiving
|
||||
@ -614,7 +614,7 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op
|
||||
Alias of -rr_reloc_dir "/.rr_moved"
|
||||
--for_backup
|
||||
Enable all options which improve backup fidelity:
|
||||
--acl, --xattr-any, --md5, --hardlinks, --lfa_flags.
|
||||
--acl, --xattr-any, --md5, --hardlinks, and possibly --lfa_flags.
|
||||
If you later restore a backup with xattr from non-user namespaces,
|
||||
then make sure that the target operating system and filesystem know
|
||||
what these attributes mean. Possibly you will need administrator
|
||||
@ -623,6 +623,9 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op
|
||||
record what is readable.
|
||||
Option --xattr after option --for_backup excludes non-user
|
||||
attributes from being recorded.
|
||||
Option --for_backup enables --lfa_flags only if the underlying
|
||||
libisofs was compiled with support for Linux file attributes, which
|
||||
is typically not the case on non-Linux systems.
|
||||
--acl
|
||||
|
||||
Enable recording and loading of ACLs from GNU/Linux or FreeBSD (see
|
||||
@ -1497,6 +1500,21 @@ File: xorrisofs.info, Node: Miscellaneous, Next: ExSimple, Prev: Jigdo, Up:
|
||||
==========================
|
||||
|
||||
|
||||
-genisoimage_completion
|
||||
Match unrecognized option arguments which begin by a dash '-'
|
||||
against the known genisoimage options, like program genisoimage
|
||||
does unconditionally (and undocumentedly). If the given argument
|
||||
matches the beginning of exactly one genisoimage option, then it
|
||||
gets replaced by that option. Options which are genuine to mkisofs
|
||||
or xorriso's mkisofs emulation are not matched that way. Option
|
||||
arguments which consist entirely of a leading dash and letters out
|
||||
of "dDfJlNRrTUvz" are not matched but rather interpreted as usual,
|
||||
i.e. as multiple options with leading dash and each single letter.
|
||||
If no genisoimage option is found or more than one are found, then
|
||||
a SORRY message is issued and the argument stays as is.
|
||||
To enable this mode by default, write the xorriso command
|
||||
-genisoimage_completion on
|
||||
into one of the xorriso start files. See section FILES.
|
||||
-print-size
|
||||
Print to stdandard output the foreseeable number of 2048 byte
|
||||
blocks in the emerging ISO image. Do not produce this image.
|
||||
@ -2047,7 +2065,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
|
||||
|