|
|
|
@ -610,6 +610,7 @@ int Xorriso_jigdo_interpreter(struct XorrisO *xorriso, char *aspect, char *arg,
|
|
|
|
|
libjte_destroy(&(xorriso->libjte_handle));
|
|
|
|
|
Xorriso_lst_destroy_all(&(xorriso->jigdo_params), 0);
|
|
|
|
|
Xorriso_lst_destroy_all(&(xorriso->jigdo_values), 0);
|
|
|
|
|
xorriso->libjte_params_given= 0;
|
|
|
|
|
return(1);
|
|
|
|
|
}
|
|
|
|
|
ret= Xorriso_assert_jte_handle(xorriso, 0);
|
|
|
|
@ -622,9 +623,11 @@ int Xorriso_jigdo_interpreter(struct XorrisO *xorriso, char *aspect, char *arg,
|
|
|
|
|
libjte_set_verbose(jte, 1);
|
|
|
|
|
/* Direct libjte messages to stderr, rather than message list */
|
|
|
|
|
libjte_set_error_behavior(xorriso->libjte_handle, 1, 0);
|
|
|
|
|
xorriso->libjte_params_given|= 2;
|
|
|
|
|
} else if(strcmp(arg, "off") == 0) {
|
|
|
|
|
libjte_set_verbose(jte, 0);
|
|
|
|
|
libjte_set_error_behavior(xorriso->libjte_handle, 0, 0);
|
|
|
|
|
xorriso->libjte_params_given&= ~2;
|
|
|
|
|
} else
|
|
|
|
|
goto bad_arg;
|
|
|
|
|
} else if(strcmp(aspect, "template_path") == 0 ||
|
|
|
|
@ -632,52 +635,62 @@ int Xorriso_jigdo_interpreter(struct XorrisO *xorriso, char *aspect, char *arg,
|
|
|
|
|
ret= libjte_set_template_path(jte, arg);
|
|
|
|
|
if(ret <= 0)
|
|
|
|
|
goto jte_failed;
|
|
|
|
|
xorriso->libjte_params_given|= 4;
|
|
|
|
|
} else if(strcmp(aspect, "jigdo_path") == 0 ||
|
|
|
|
|
strcmp(aspect, "-jigdo-jigdo") == 0) {
|
|
|
|
|
ret= libjte_set_jigdo_path(jte, arg);
|
|
|
|
|
if(ret <= 0)
|
|
|
|
|
goto jte_failed;
|
|
|
|
|
xorriso->libjte_params_given|= 8;
|
|
|
|
|
} else if(strcmp(aspect, "md5_path") == 0 ||
|
|
|
|
|
strcmp(aspect, "-md5-list") == 0) {
|
|
|
|
|
ret= libjte_set_md5_path(jte, arg);
|
|
|
|
|
if(ret <= 0)
|
|
|
|
|
goto jte_failed;
|
|
|
|
|
xorriso->libjte_params_given|= 16;
|
|
|
|
|
} else if(strcmp(aspect, "min_size") == 0 ||
|
|
|
|
|
strcmp(aspect, "-jigdo-min-file-size") == 0) {
|
|
|
|
|
num= Scanf_io_size(arg, 0);
|
|
|
|
|
ret= libjte_set_min_size(jte, num);
|
|
|
|
|
if(ret <= 0)
|
|
|
|
|
goto jte_failed;
|
|
|
|
|
xorriso->libjte_params_given|= 32;
|
|
|
|
|
} else if(strcmp(aspect, "checksum_iso") == 0 ||
|
|
|
|
|
strcmp(aspect, "-checksum_algorithm_iso") == 0) {
|
|
|
|
|
ret= libjte_set_checksum_iso(jte, arg);
|
|
|
|
|
if(ret <= 0)
|
|
|
|
|
goto jte_failed;
|
|
|
|
|
xorriso->libjte_params_given|= 64;
|
|
|
|
|
} else if(strcmp(aspect, "checksum_template") == 0 ||
|
|
|
|
|
strcmp(aspect, "-checksum_algorithm_template") == 0) {
|
|
|
|
|
ret= libjte_set_checksum_template(jte, arg);
|
|
|
|
|
if(ret <= 0)
|
|
|
|
|
goto jte_failed;
|
|
|
|
|
xorriso->libjte_params_given|= 128;
|
|
|
|
|
} else if(strcmp(aspect, "compression") == 0 ||
|
|
|
|
|
strcmp(aspect, "-jigdo-template-compress") == 0) {
|
|
|
|
|
ret= libjte_set_compression(jte, arg);
|
|
|
|
|
if(ret <= 0)
|
|
|
|
|
goto jte_failed;
|
|
|
|
|
xorriso->libjte_params_given|= 256;
|
|
|
|
|
} else if(strcmp(aspect, "exclude") == 0 ||
|
|
|
|
|
strcmp(aspect, "-jigdo-exclude") == 0) {
|
|
|
|
|
ret= libjte_add_exclude(jte, arg);
|
|
|
|
|
if(ret <= 0)
|
|
|
|
|
goto jte_failed;
|
|
|
|
|
xorriso->libjte_params_given|= 512;
|
|
|
|
|
} else if(strcmp(aspect, "demand_md5") == 0 ||
|
|
|
|
|
strcmp(aspect, "-jigdo-force-md5") == 0) {
|
|
|
|
|
ret= libjte_add_md5_demand(jte, arg);
|
|
|
|
|
if(ret <= 0)
|
|
|
|
|
goto jte_failed;
|
|
|
|
|
xorriso->libjte_params_given|= 1024;
|
|
|
|
|
} else if(strcmp(aspect, "mapping") == 0 ||
|
|
|
|
|
strcmp(aspect, "-jigdo-map") == 0) {
|
|
|
|
|
ret= libjte_add_mapping(jte, arg);
|
|
|
|
|
if(ret <= 0)
|
|
|
|
|
goto jte_failed;
|
|
|
|
|
xorriso->libjte_params_given|= 2048;
|
|
|
|
|
} else {
|
|
|
|
|
sprintf(xorriso->info_text, "-jigdo: unknown aspect '%s'", aspect);
|
|
|
|
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
|
|
|
|