New find action mkisofs_r and emulation -as mkisofs -r
This commit is contained in:
@ -11106,7 +11106,7 @@ int Xorriso_genisofs_ignore(struct XorrisO *xorriso, char *whom,
|
||||
"-allow-leading-dots", "-ldots", "-allow-lowercase", "-allow-multidot",
|
||||
"-cache-inodes", "-no-cache-inodes", "-check-oldnames", "-d", "-D",
|
||||
"-joliet-long", "-l", "-L", "-max-iso9660-filenames", "-N", "-nobak",
|
||||
"-no-bak", "-force-rr", "-r", "-relaxed-filenames", "-T", "-U",
|
||||
"-no-bak", "-force-rr", "-relaxed-filenames", "-T", "-U",
|
||||
"-no-iso-translate",
|
||||
""
|
||||
};
|
||||
@ -11139,7 +11139,7 @@ no_volunteer:;
|
||||
|
||||
int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
||||
{
|
||||
static char helptext[][80]= {
|
||||
static char helptext[][160]= {
|
||||
"Usage: xorriso -as mkisofs [options] file...",
|
||||
"Note: This is not mkisofs. See xorriso -help, xorriso -version, man xorriso",
|
||||
"Options:",
|
||||
@ -11164,6 +11164,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
||||
" -print-size Print estimated filesystem size and exit",
|
||||
" -quiet Run quietly",
|
||||
" -R, -rock Generate Rock Ridge directory information",
|
||||
" -r, -rational-rock Generate rationalized Rock Ridge directory information",
|
||||
" --hardlinks Record eventual hard link relations of files",
|
||||
" --acl Record eventual ACLs of files",
|
||||
" --xattr Record eventual user space xattr of files",
|
||||
@ -11217,9 +11218,10 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
{
|
||||
int ret, i, was_path= 0, was_other_option= 0, mem_graft_points, mem;
|
||||
int do_print_size= 0, fd, idx, iso_level= 0, no_emul_boot= 0;
|
||||
int option_b= 0, was_failure= 0, fret;
|
||||
int option_b= 0, was_failure= 0, fret, lower_r= 0, zero= 0;
|
||||
char sfe[5*SfileadrL], adr[SfileadrL+8], ra_text[80], pathspec[2*SfileadrL];
|
||||
char *ept, *add_pt, eff_path[SfileadrL], indev[SfileadrL+8], msc[80], *cpt;
|
||||
static char *lower_r_args[3] = {"/", "-exec", "mkisofs_r"};
|
||||
|
||||
strcpy(ra_text, xorriso->report_about_text);
|
||||
|
||||
@ -11333,20 +11335,6 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
ret= Xorriso_option_boot_image(xorriso, "isolinux", sfe, 0);
|
||||
if(ret <= 0)
|
||||
goto problem_handler_1;
|
||||
} else if(strcmp(argv[i], "--embedded-boot")==0 ||
|
||||
strcmp(argv[i], "-G") == 0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
i++;
|
||||
ret= Xorriso_set_system_area_path(xorriso, argv[i], 0);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
} else if(strcmp(argv[i], "--protective-msdos-label")==0) {
|
||||
xorriso->system_area_options|= 1;
|
||||
} else if(strncmp(argv[i], "--modification-date=", 20)==0) {
|
||||
ret= Xorriso_option_volume_date(xorriso, "uuid", argv[i] + 20, 0);
|
||||
if(ret <= 0)
|
||||
goto problem_handler_1;
|
||||
} else if(strcmp(argv[i], "-input-charset")==0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
@ -11494,6 +11482,8 @@ illegal_c:;
|
||||
|
||||
} else if(strcmp(argv[i], "-R")==0 || strcmp(argv[i], "-rock")==0) {
|
||||
/* ok */;
|
||||
} else if(strcmp(argv[i], "-r")==0 || strcmp(argv[i], "-rational-rock")==0){
|
||||
lower_r= 1;
|
||||
} else if(strcmp(argv[i], "-J")==0 || strcmp(argv[i], "-joliet")==0) {
|
||||
xorriso->do_joliet= 1;
|
||||
} else if(strcmp(argv[i], "-graft-points")==0) {
|
||||
@ -11612,13 +11602,20 @@ not_enough_args:;
|
||||
} else if(strncmp(argv[i], "isolinux_mbr=", 13)==0) {
|
||||
/* was already handled in first argument scan */;
|
||||
} else if(strcmp(argv[i], "--embedded-boot")==0 ||
|
||||
strcmp(argv[i], "-generic-boot")==0 ||
|
||||
strcmp(argv[i], "-G") == 0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
i++;
|
||||
/* was already handled in first argument scan */;
|
||||
ret= Xorriso_set_system_area_path(xorriso, argv[i], 0);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
} else if(strcmp(argv[i], "--protective-msdos-label")==0) {
|
||||
/* was already handled in first argument scan */;
|
||||
xorriso->system_area_options|= 1;
|
||||
} else if(strncmp(argv[i], "--modification-date=", 20)==0) {
|
||||
/* was already handled in first argument scan */;
|
||||
ret= Xorriso_option_volume_date(xorriso, "uuid", argv[i] + 20, 0);
|
||||
if(ret <= 0)
|
||||
goto problem_handler_1;
|
||||
} else if(strcmp(argv[i], "-boot-load-size") == 0) {
|
||||
i++;
|
||||
/* was already handled in first argument scan */;
|
||||
@ -11695,6 +11692,11 @@ problem_handler_2:;
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
}
|
||||
if(lower_r) {
|
||||
ret= Xorriso_option_find(xorriso, 3, lower_r_args, &zero, 2);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
}
|
||||
|
||||
ret= !was_failure;
|
||||
ex:;
|
||||
@ -16071,6 +16073,8 @@ not_enough_exec_arguments:;
|
||||
Xorriso_pacifier_reset(xorriso, 0);
|
||||
mem_lut= xorriso->last_update_time;
|
||||
}
|
||||
} else if(strcmp(cpt, "mkisofs_r")==0) {
|
||||
Findjob_set_action_target(job, 37, NULL, 0);
|
||||
} else {
|
||||
sprintf(xorriso->info_text, "-find -exec: unknown action %s",
|
||||
Text_shellsafe(argv[i], sfe, 0));
|
||||
@ -16605,7 +16609,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
||||
" rm, rm_r, compare, update, report_damage, report_lba,",
|
||||
" getfacl, setfacl, getfattr, setfattr, get_any_xattr,",
|
||||
" get_md5, check_md5, make_md5, set_filter, show_stream,",
|
||||
" find.",
|
||||
" mkisofs_r, find.",
|
||||
" params are their arguments except iso_rr_path.",
|
||||
" -mkdir iso_rr_path [...]",
|
||||
" Create empty directories if they do not exist yet.",
|
||||
@ -16818,9 +16822,9 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
||||
" Preset options for runs of -check_media and -extract_cut.",
|
||||
"",
|
||||
"Compatibility emulation (argument list may be ended by list delimiter --):",
|
||||
" -as mkisofs [-help|-version|-o|-R|-J|-V|-P|-f|-m|-exclude-list|-no-pad|",
|
||||
" -M|-C|-graft-points|-path-list|pathspecs|-z|",
|
||||
" -no-emul-boot|-b|-c|-boot-info-table|-boot-load-size]",
|
||||
" -as mkisofs [-help|-version|-o|-R|-r|-J|-V|-P|-f|-m|-exclude-list|",
|
||||
" -no-pad|-M|-C|-graft-points|-path-list|pathspecs|-z|",
|
||||
" -no-emul-boot|-b|-c|-boot-info-table|-boot-load-size|-G]",
|
||||
" Perform some mkisofs gestures, understand pathspecs as mkisofs",
|
||||
" does. Commit happens outside emulation at usual occasions.",
|
||||
" -as cdrecord [-help|-v|dev=|speed=|blank=|fs=|-eject|-atip|padsize=|-multi]",
|
||||
@ -19704,7 +19708,9 @@ int Xorriso_option_volume_date(struct XorrisO *xorriso,
|
||||
if(timestring[0] == 0 || strcmp(timestring, "default") == 0 ||
|
||||
strcmp(timestring, "overridden") == 0 ){
|
||||
t= 0;
|
||||
} else if(strcmp(time_type, "uuid") != 0) {
|
||||
} else if(strcmp(time_type, "uuid") == 0) {
|
||||
t= time(NULL); /* Just to have some that is not 0 */
|
||||
} else {
|
||||
ret= Xorriso_convert_datestring(xorriso, "-volume_date",
|
||||
"m", timestring, &t_type, &t, 0);
|
||||
if(ret<=0)
|
||||
|
Reference in New Issue
Block a user