From 3f0f1c72a5d11ca718e22521b9132b902ed610c8 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sun, 5 Apr 2009 11:06:49 +0000 Subject: [PATCH] Fixed a bug about detection of failure with -set_filter --- xorriso/xorriso_timestamp.h | 2 +- xorriso/xorrisoburn.c | 30 ++++++++++++++++-------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 5f2b05df..13e6f671 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2009.04.05.110534" +#define Xorriso_timestamP "2009.04.05.110652" diff --git a/xorriso/xorrisoburn.c b/xorriso/xorrisoburn.c index 7c635ba0..39ac921c 100644 --- a/xorriso/xorrisoburn.c +++ b/xorriso/xorrisoburn.c @@ -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);