Fixed a bug about detection of failure with -set_filter

This commit is contained in:
Thomas Schmitt 2009-04-05 11:06:49 +00:00
parent 967b6a45ce
commit e977a4afb2
2 changed files with 17 additions and 15 deletions

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.04.05.110534"
#define Xorriso_timestamP "2009.04.05.110652"

View File

@ -9787,7 +9787,7 @@ int Xorriso_destroy_all_extf(struct XorrisO *xorriso, int flag)
int Xorriso_set_filter(struct XorrisO *xorriso, void *in_node,
char *path, char *filter_name, int flag)
{
int ret, lo= 0, ls= 0, strip_suffix= 0, strip_filter= 0;
int ret, lo= 0, ls= 0, strip_suffix= 0, strip_filter= 0, filter_ret;
IsoNode *node;
IsoFile *file;
struct Xorriso_lsT *found_lst;
@ -9903,7 +9903,7 @@ cannot_append_suffix:;
if(ret != 1)
break;
}
ret= 1;
filter_ret= 1;
} else {
#ifndef Xorriso_allow_extf_suiD
@ -9918,14 +9918,14 @@ cannot_append_suffix:;
}
#endif /* ! Xorriso_allow_extf_suiD */
ret = iso_file_add_external_filter(file, cmd, 0);
filter_ret = iso_file_add_external_filter(file, cmd, 0);
if(filter_ret < 0) {
Xorriso_process_msg_queues(xorriso,0);
Xorriso_report_iso_error(xorriso, "", filter_ret,
"Error when setting filter to ISO node", 0, "FAILURE", 1);
}
if(flag & 2) {
xorriso->pacifier_count++;
Xorriso_pacifier_callback(xorriso, "file filters processed",
xorriso->pacifier_count, xorriso->pacifier_total, "", 0);
}
if(ret != 1 && new_name[0] && old_name != NULL) {
if(filter_ret != 1 && new_name[0] && old_name != NULL) {
ret = iso_node_set_name(node, old_name);
if (ret < 0) {
Xorriso_process_msg_queues(xorriso,0);
@ -9934,10 +9934,12 @@ cannot_append_suffix:;
"Error when renaming ISO node", 0, "FAILURE", 1);
}
}
if(ret < 0) {
Xorriso_process_msg_queues(xorriso,0);
Xorriso_report_iso_error(xorriso, "", ret,
"Error when setting filter to ISO node", 0, "FAILURE", 1);
if(flag & 2) {
xorriso->pacifier_count++;
Xorriso_pacifier_callback(xorriso, "file filters processed",
xorriso->pacifier_count, xorriso->pacifier_total, "", 0);
}
if(filter_ret < 0) {
ret= 0; goto ex;
}
@ -9945,7 +9947,7 @@ cannot_append_suffix:;
old image and indev!=outdev
xorriso->volset_change_pending= 1;
*/
ret= filter_ret;
ex:;
if(old_name != NULL)
free(old_name);