|
|
|
@ -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); |
|
|
|
|