Adjusted behavior of -as mkisofs option -D

This commit is contained in:
2012-03-14 15:23:53 +00:00
parent ea3ae8d436
commit a0b8588598
5 changed files with 103 additions and 96 deletions

View File

@ -951,7 +951,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
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, allow_dir_id_ext= 1;
int root_seen= 0, do_md5_mem;
int root_seen= 0, do_md5_mem, option_d= 0;
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;
@ -1633,9 +1633,7 @@ not_enough_args:;
} else if(strcmp(argpt, "-D") == 0 ||
strcmp(argpt, "-disable-deep-relocation") == 0) {
ret= Xorriso_option_compliance(xorriso, "deep_paths", 0);
if(ret <= 0)
goto problem_handler_2;
option_d= 1;
} else if(strcmp(argpt, "-hide-rr-moved") == 0) {
rr_reloc_dir_pt= ".rr_moved";
@ -1656,7 +1654,8 @@ rr_reloc_dir:;
ret= Xorriso_option_rr_reloc_dir(xorriso, rr_reloc_dir_pt, 0);
if(ret <= 0)
goto problem_handler_2;
ret= Xorriso_option_compliance(xorriso, "deep_paths_off", 0);
ret= Xorriso_option_compliance(xorriso, "deep_paths_off:long_paths_off",
0);
if(ret <= 0)
goto problem_handler_2;
@ -1832,6 +1831,9 @@ problem_handler_2:;
goto ex;
}
if(option_d)
Xorriso_option_compliance(xorriso, "deep_paths:long_paths", 0);
/* After all pathspecs are added: perform boot related options */
for(j= 0; j < delay_opt_count; j++) {
i= delay_opt_list[j] & ~(1 << 31);