|
|
|
@ -664,7 +664,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
|
|
|
|
"-rr_reloc_dir", "-hfsplus-serial-no", "-prep-boot-part", "-efi-boot-part", |
|
|
|
|
"-hfsplus-block-size", "-apm-block-size", "--grub2-mbr", |
|
|
|
|
"--grub2-sparc-core", "--sort-weight-list", "--sort-weight-patterns", |
|
|
|
|
"-hppa-hdrversion","-file_name_limit", |
|
|
|
|
"-hppa-hdrversion", "-file_name_limit", "--set_all_file_dates", |
|
|
|
|
"" |
|
|
|
|
}; |
|
|
|
|
static char arg2_options[][41]= { |
|
|
|
@ -905,6 +905,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
|
|
|
|
" -appended_part_as_apm mark appended partitions in APM.", |
|
|
|
|
" --modification-date=YYYYMMDDhhmmsscc", |
|
|
|
|
" Override date of creation and modification", |
|
|
|
|
" --set_all_file_dates TIME Override mtime, atime, ctime in all files", |
|
|
|
|
" -isohybrid-mbr FILE Set SYSLINUX mbr/isohdp[fp]x*.bin for isohybrid", |
|
|
|
|
" --grub2-mbr FILE Set GRUB2 MBR for boot image address patching", |
|
|
|
|
#ifdef Xorriso_with_isohybriD |
|
|
|
@ -1281,6 +1282,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
|
|
|
|
int *delay_opt_list= NULL, delay_opt_count= 0; |
|
|
|
|
char *sfe= NULL, *adr= NULL, ra_text[80], *pathspec= NULL, *sort_file= NULL; |
|
|
|
|
char *ept, *add_pt, *eff_path= NULL, *indev= NULL, msc[80], *cpt; |
|
|
|
|
char *all_file_dates= NULL; |
|
|
|
|
char *old_root= NULL, *argpt, *hargv[1]; |
|
|
|
|
char *boot_path, partno_text[8], *iso_rr_pt, *disk_pt, *rpt, *wpt; |
|
|
|
|
char *rm_merge_args[3], *rr_reloc_dir_pt= NULL; |
|
|
|
@ -1918,6 +1920,16 @@ not_enough_args:;
|
|
|
|
|
if(ret <= 0) |
|
|
|
|
goto problem_handler_2; |
|
|
|
|
|
|
|
|
|
} else if(strcmp(argpt, "--set_all_file_dates") == 0) { |
|
|
|
|
if(i+1>=argc) |
|
|
|
|
goto not_enough_args; |
|
|
|
|
i++; |
|
|
|
|
if(all_file_dates != NULL) |
|
|
|
|
Xorriso_free_meM(all_file_dates); |
|
|
|
|
all_file_dates= NULL; |
|
|
|
|
Xorriso_alloc_meM(all_file_dates, char, strlen(argv[i]) + 1); |
|
|
|
|
strcpy(all_file_dates, argv[i]); |
|
|
|
|
|
|
|
|
|
} else if(strcmp(argpt, "-input-charset")==0) { |
|
|
|
|
i++; |
|
|
|
|
/* was already handled in first argument scan */; |
|
|
|
@ -2610,6 +2622,21 @@ problem_handler_boot:;
|
|
|
|
|
if(xorriso->no_emul_toc & 1) |
|
|
|
|
xorriso->do_padding_by_libisofs= 1; |
|
|
|
|
|
|
|
|
|
if(all_file_dates != NULL) if(all_file_dates[0] != 0) { |
|
|
|
|
hargv[0]= "/"; |
|
|
|
|
idx= 0; |
|
|
|
|
ret= Xorriso_option_alter_date(xorriso, "b", all_file_dates, 1, hargv, |
|
|
|
|
&idx, 1); |
|
|
|
|
if(ret <= 0) |
|
|
|
|
was_failure= 1; |
|
|
|
|
idx= 0; |
|
|
|
|
ret= Xorriso_option_alter_date(xorriso, "c", all_file_dates, 1, hargv, |
|
|
|
|
&idx, 1); |
|
|
|
|
if(ret <= 0) |
|
|
|
|
was_failure= 1; |
|
|
|
|
Xorriso_relax_compliance(xorriso, "always_gmt", 0); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(do_print_size) { |
|
|
|
|
ret= Xorriso_option_print_size(xorriso, 1); |
|
|
|
|
goto ex; |
|
|
|
@ -2626,6 +2653,7 @@ ex:;
|
|
|
|
|
free(weight_list); |
|
|
|
|
if(delay_opt_list != NULL) |
|
|
|
|
free(delay_opt_list); |
|
|
|
|
Xorriso_free_meM(all_file_dates); |
|
|
|
|
Xorriso_free_meM(sort_file); |
|
|
|
|
Xorriso_free_meM(sfe); |
|
|
|
|
Xorriso_free_meM(adr); |
|
|
|
|