New -as mkisofs option -disallow_dir_id_ext, allow_dir_id_ext is default
This commit is contained in:
@ -533,6 +533,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
||||
"-no-mac-files", "-chrp-boot",
|
||||
"--hardlinks", "--acl", "--xattr", "--md5", "--for_backup",
|
||||
"--protective-msdos-label", "--boot-catalog-hide", "--no-emul-toc",
|
||||
"-disallow_dir_id_ext",
|
||||
""
|
||||
};
|
||||
static char arg1_options[][41]= {
|
||||
@ -683,6 +684,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
||||
" -input-charset CHARSET Local input charset for file name conversion",
|
||||
" -output-charset CHARSET Output charset for file name conversion",
|
||||
" -iso-level LEVEL Set ISO9660 conformance level (1..3) or 4 for ISO9660 version 2",
|
||||
" -disallow_dir_id_ext Do not allow dot in ISO directory names",
|
||||
" -J, -joliet Generate Joliet directory information",
|
||||
" -joliet-long Allow Joliet file names to be 103 Unicode characters",
|
||||
" -U, -untranslated-filenames Allow Untranslated filenames (for HPUX & AIX - violates ISO9660).",
|
||||
@ -876,9 +878,9 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
int argc, char **argv, int flag)
|
||||
{
|
||||
int ret, i, j, was_path= 0, was_other_option= 0, mem_graft_points, mem;
|
||||
int do_print_size= 0, fd, idx, iso_level= 0, emul_boot= 2;
|
||||
int do_print_size= 0, fd, idx, iso_level= 1, emul_boot= 2;
|
||||
int option_b= 0, was_failure= 0, fret, lower_r= 0, zero= 0;
|
||||
int dir_mode= -1, file_mode= -1, count, partition_number;
|
||||
int dir_mode= -1, file_mode= -1, count, partition_number, allow_dir_id_ext= 1;
|
||||
mode_t mode_and, mode_or;
|
||||
int with_boot_image= 0, with_cat_path= 0;
|
||||
int *weight_list= NULL, weight_count= 0;
|
||||
@ -971,7 +973,6 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
if(iso_level == 4)
|
||||
xorriso->do_iso1999= 1;
|
||||
else {
|
||||
xorriso->file_size_limit= 0;
|
||||
sprintf(sfe, "iso_9660_level=%s", argv[i]);
|
||||
ret= Xorriso_relax_compliance(xorriso, sfe, 0);
|
||||
if(ret <= 0)
|
||||
@ -1047,6 +1048,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
goto not_enough_args;
|
||||
i++;
|
||||
Xorriso_option_stdio_sync(xorriso, argv[i], 0);
|
||||
} else if(strcmp(argv[i], "-disallow_dir_id_ext")==0) {
|
||||
allow_dir_id_ext= 0;
|
||||
} else
|
||||
was_other_option= 1;
|
||||
ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 0);
|
||||
@ -1176,10 +1179,12 @@ not_enough_args:;
|
||||
} else if(strcmp(argv[i], "-o")==0) {
|
||||
i++;
|
||||
/* was already handled in first argument scan */;
|
||||
} else if(strcmp(argv[i], "-M")==0 || strcmp(argv[i], "-dev")==0) {
|
||||
} else if(strcmp(argv[i], "-M")==0 || strcmp(argv[i], "-dev")==0 ||
|
||||
strcmp(argv[i], "-prev-session")==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], "-cdrecord-params")==0) {
|
||||
i++;
|
||||
/* was already handled in first argument scan */;
|
||||
} else if(strcmp(argv[i], "-help")==0) {
|
||||
@ -1434,6 +1439,14 @@ not_enough_args:;
|
||||
strncpy(xorriso->ascii_disc_label, argv[i], Xorriso_disc_label_sizE - 1);
|
||||
xorriso->ascii_disc_label[Xorriso_disc_label_sizE - 1] = 0;
|
||||
|
||||
} else if(strcmp(argv[i], "--stdio_sync")==0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
i++;
|
||||
/* was already handled in first argument scan */;
|
||||
} else if(strcmp(argv[i], "-disallow_dir_id_ext")==0) {
|
||||
/* was already handled in first argument scan */;
|
||||
|
||||
} else if(argv[i][0]=='-' && argv[i][1]!=0) {
|
||||
ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 1);
|
||||
if(ret > 0) {
|
||||
@ -1478,7 +1491,18 @@ is_pathspec_2:;
|
||||
if(ret<=0)
|
||||
goto problem_handler_2;
|
||||
was_path= 1;
|
||||
|
||||
/* Enforce odd mkisofs defaults on first pathspec */
|
||||
xorriso->pacifier_style= 1;
|
||||
if(allow_dir_id_ext == 1) {
|
||||
Xorriso_relax_compliance(xorriso, "allow_dir_id_ext", 0);
|
||||
allow_dir_id_ext= 2;
|
||||
}
|
||||
if(iso_level >= 1 && iso_level <= 3) {
|
||||
sprintf(sfe, "iso_9660_level=%d", iso_level);
|
||||
Xorriso_relax_compliance(xorriso, sfe, 0);
|
||||
iso_level= 0;
|
||||
}
|
||||
}
|
||||
continue; /* regular bottom of loop */
|
||||
problem_handler_2:;
|
||||
|
Reference in New Issue
Block a user