Gave -as mkisofs problem handlers rather than to let it abort on any error
This commit is contained in:
parent
327412eb54
commit
186bc564a0
@ -9199,7 +9199,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
|||||||
{
|
{
|
||||||
int ret, i, was_path= 0, was_other_option= 0, mem_graft_points, mem;
|
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 do_print_size= 0, fd, idx, iso_level= 0, no_emul_boot= 0;
|
||||||
int option_b= 0;
|
int option_b= 0, was_failure= 0, fret;
|
||||||
char sfe[5*SfileadrL], adr[SfileadrL+8], ra_text[80], pathspec[2*SfileadrL];
|
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;
|
char *ept, *add_pt, eff_path[SfileadrL], indev[SfileadrL+8], msc[80], *cpt;
|
||||||
|
|
||||||
@ -9320,7 +9320,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
|||||||
} else if(strcmp(argv[i], "-f")==0 || strcmp(argv[i], "-follow-links")==0) {
|
} else if(strcmp(argv[i], "-f")==0 || strcmp(argv[i], "-follow-links")==0) {
|
||||||
ret= Xorriso_option_follow(xorriso, "on", 0);
|
ret= Xorriso_option_follow(xorriso, "on", 0);
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto problem_handler_1;
|
||||||
} else if(strcmp(argv[i], "-iso-level")==0) {
|
} else if(strcmp(argv[i], "-iso-level")==0) {
|
||||||
if(i+1>=argc)
|
if(i+1>=argc)
|
||||||
goto not_enough_args;
|
goto not_enough_args;
|
||||||
@ -9331,7 +9331,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
|||||||
"-as %s: unsupported -iso-level '%s' (use one of: 1,2,3)",
|
"-as %s: unsupported -iso-level '%s' (use one of: 1,2,3)",
|
||||||
whom, argv[i]);
|
whom, argv[i]);
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||||
ret= 0; goto ex;
|
ret= 0; goto problem_handler_1;
|
||||||
}
|
}
|
||||||
if(iso_level < 3)
|
if(iso_level < 3)
|
||||||
xorriso->file_size_limit=
|
xorriso->file_size_limit=
|
||||||
@ -9379,9 +9379,17 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
|||||||
sprintf(sfe, "isohybrid=%s", argv[i] + 13);
|
sprintf(sfe, "isohybrid=%s", argv[i] + 13);
|
||||||
ret= Xorriso_option_boot_image(xorriso, "isolinux", sfe, 0);
|
ret= Xorriso_option_boot_image(xorriso, "isolinux", sfe, 0);
|
||||||
if(ret <= 0)
|
if(ret <= 0)
|
||||||
goto ex;
|
goto problem_handler_1;
|
||||||
} else
|
} else
|
||||||
was_other_option= 1;
|
was_other_option= 1;
|
||||||
|
|
||||||
|
continue; /* regular bottom of loop */
|
||||||
|
problem_handler_1:;
|
||||||
|
was_failure= 1;
|
||||||
|
fret= Xorriso_eval_problem_status(xorriso, ret, 1|2);
|
||||||
|
if(fret>=0)
|
||||||
|
continue;
|
||||||
|
goto ex;
|
||||||
}
|
}
|
||||||
Xorriso_option_report_about(xorriso, ra_text, 0);
|
Xorriso_option_report_about(xorriso, ra_text, 0);
|
||||||
if(adr[0]) {
|
if(adr[0]) {
|
||||||
@ -9508,12 +9516,12 @@ not_enough_args:;
|
|||||||
ret= 0; goto ex;
|
ret= 0; goto ex;
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
|
was_path= 1;
|
||||||
|
xorriso->pacifier_style= 1;
|
||||||
ret= Xorriso_option_path_list(xorriso, argv[i],
|
ret= Xorriso_option_path_list(xorriso, argv[i],
|
||||||
(strcmp(argv[i-1], "--quoted_path_list")==0));
|
(strcmp(argv[i-1], "--quoted_path_list")==0));
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto problem_handler_2;
|
||||||
was_path= 1;
|
|
||||||
xorriso->pacifier_style= 1;
|
|
||||||
} else if(strcmp(argv[i], "-f")==0 || strcmp(argv[i], "-follow-links")==0) {
|
} else if(strcmp(argv[i], "-f")==0 || strcmp(argv[i], "-follow-links")==0) {
|
||||||
/* was already handled in first argument scan */;
|
/* was already handled in first argument scan */;
|
||||||
} else if(strcmp(argv[i], "-pad")==0) {
|
} else if(strcmp(argv[i], "-pad")==0) {
|
||||||
@ -9539,14 +9547,14 @@ not_enough_args:;
|
|||||||
i++;
|
i++;
|
||||||
ret= Xorriso_option_volid(xorriso, argv[i], 0);
|
ret= Xorriso_option_volid(xorriso, argv[i], 0);
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto problem_handler_2;
|
||||||
} else if(strcmp(argv[i], "-P")==0 || strcmp(argv[i], "-publisher")==0) {
|
} else if(strcmp(argv[i], "-P")==0 || strcmp(argv[i], "-publisher")==0) {
|
||||||
if(i+1>=argc)
|
if(i+1>=argc)
|
||||||
goto not_enough_args;
|
goto not_enough_args;
|
||||||
i++;
|
i++;
|
||||||
ret= Xorriso_option_publisher(xorriso, argv[i], 0);
|
ret= Xorriso_option_publisher(xorriso, argv[i], 0);
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto problem_handler_2;
|
||||||
} else if(strcmp(argv[i], "-m")==0 || strcmp(argv[i], "-exclude")==0 ||
|
} else if(strcmp(argv[i], "-m")==0 || strcmp(argv[i], "-exclude")==0 ||
|
||||||
strcmp(argv[i], "-x")==0 || strcmp(argv[i], "-old-exclude")==0) {
|
strcmp(argv[i], "-x")==0 || strcmp(argv[i], "-old-exclude")==0) {
|
||||||
if(i+1>=argc)
|
if(i+1>=argc)
|
||||||
@ -9561,7 +9569,7 @@ not_enough_args:;
|
|||||||
ret= Xorriso_option_not_leaf(xorriso, argv[i], 0);
|
ret= Xorriso_option_not_leaf(xorriso, argv[i], 0);
|
||||||
xorriso->do_disk_pattern= mem;
|
xorriso->do_disk_pattern= mem;
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto problem_handler_2;
|
||||||
} else if(strcmp(argv[i], "-exclude-list")==0) {
|
} else if(strcmp(argv[i], "-exclude-list")==0) {
|
||||||
if(i+1>=argc)
|
if(i+1>=argc)
|
||||||
goto not_enough_args;
|
goto not_enough_args;
|
||||||
@ -9571,7 +9579,7 @@ not_enough_args:;
|
|||||||
ret= Xorriso_option_not_list(xorriso, argv[i], 0);
|
ret= Xorriso_option_not_list(xorriso, argv[i], 0);
|
||||||
xorriso->do_disk_pattern= mem;
|
xorriso->do_disk_pattern= mem;
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto problem_handler_2;
|
||||||
} else if(strcmp(argv[i], "-v")==0 || strcmp(argv[i], "-quiet")==0) {
|
} else if(strcmp(argv[i], "-v")==0 || strcmp(argv[i], "-quiet")==0) {
|
||||||
/* was already handled in first argument scan */;
|
/* was already handled in first argument scan */;
|
||||||
|
|
||||||
@ -9608,7 +9616,7 @@ not_enough_args:;
|
|||||||
ret= Xorriso_normalize_img_path(xorriso, xorriso->wdx, argv[i],
|
ret= Xorriso_normalize_img_path(xorriso, xorriso->wdx, argv[i],
|
||||||
eff_path, 2|4);
|
eff_path, 2|4);
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto problem_handler_2;
|
||||||
ret= Sfile_type(eff_path,
|
ret= Sfile_type(eff_path,
|
||||||
1|((xorriso->do_follow_param||xorriso->do_follow_links)<<2));
|
1|((xorriso->do_follow_param||xorriso->do_follow_links)<<2));
|
||||||
if(ret==2) {
|
if(ret==2) {
|
||||||
@ -9631,10 +9639,17 @@ not_enough_args:;
|
|||||||
ret= Xorriso_option_add(xorriso, 1, &add_pt, &zero, was_path<<1);
|
ret= Xorriso_option_add(xorriso, 1, &add_pt, &zero, was_path<<1);
|
||||||
xorriso->allow_graft_points= mem_graft_points;
|
xorriso->allow_graft_points= mem_graft_points;
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto problem_handler_2;
|
||||||
was_path= 1;
|
was_path= 1;
|
||||||
xorriso->pacifier_style= 1;
|
xorriso->pacifier_style= 1;
|
||||||
}
|
}
|
||||||
|
continue; /* regular bottom of loop */
|
||||||
|
problem_handler_2:;
|
||||||
|
was_failure= 1;
|
||||||
|
fret= Xorriso_eval_problem_status(xorriso, ret, 1|2);
|
||||||
|
if(fret>=0)
|
||||||
|
continue;
|
||||||
|
goto ex;
|
||||||
}
|
}
|
||||||
if(do_print_size) {
|
if(do_print_size) {
|
||||||
ret= Xorriso_option_print_size(xorriso, 1);
|
ret= Xorriso_option_print_size(xorriso, 1);
|
||||||
@ -9642,7 +9657,7 @@ not_enough_args:;
|
|||||||
goto ex;
|
goto ex;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret= 1;
|
ret= !was_failure;
|
||||||
ex:;
|
ex:;
|
||||||
if(was_path && !do_print_size)
|
if(was_path && !do_print_size)
|
||||||
Xorriso_pacifier_callback(xorriso, "files added", xorriso->pacifier_count,
|
Xorriso_pacifier_callback(xorriso, "files added", xorriso->pacifier_count,
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2008.11.30.095007"
|
#define Xorriso_timestamP "2008.11.30.123700"
|
||||||
|
Loading…
Reference in New Issue
Block a user