From 7c42bd8a1722e300c89e8db50ea6459a781c51c8 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 3 Mar 2012 10:46:16 +0000 Subject: [PATCH] Bug fix: Setting file content filters did not mark image as changed for commit --- xorriso/filters.c | 9 ++++++++- xorriso/xorriso_timestamp.h | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/xorriso/filters.c b/xorriso/filters.c index 5365b653..82b2bec9 100644 --- a/xorriso/filters.c +++ b/xorriso/filters.c @@ -261,7 +261,7 @@ ex:; int Xorriso_set_filter(struct XorrisO *xorriso, void *in_node, char *path, char *filter_name, int flag) { - int ret, strip_suffix= 0, strip_filter= 0, filter_ret= 0; + int ret, strip_suffix= 0, strip_filter= 0, filter_ret= 0, did_work= 0; int explicit_suffix= 0, internal_filter= 0; IsoNode *node; IsoFile *file; @@ -369,6 +369,7 @@ int Xorriso_set_filter(struct XorrisO *xorriso, void *in_node, ret= iso_file_remove_filter(file, 0); if(ret != 1) break; + did_work= 1; } filter_ret= 1; } else if (internal_filter == 1 || internal_filter == 2) { @@ -379,6 +380,7 @@ int Xorriso_set_filter(struct XorrisO *xorriso, void *in_node, Xorriso_report_iso_error(xorriso, "", filter_ret, "Error when setting filter to ISO node", 0, "FAILURE", 1); } + did_work= 1; } else if (internal_filter == 3 || internal_filter == 4) { filter_ret = iso_file_add_gzip_filter(file, 1 | ((internal_filter == 4) << 1)); @@ -387,6 +389,7 @@ int Xorriso_set_filter(struct XorrisO *xorriso, void *in_node, Xorriso_report_iso_error(xorriso, "", filter_ret, "Error when setting filter to ISO node", 0, "FAILURE", 1); } + did_work= 1; } else { #ifndef Xorriso_allow_extf_suiD @@ -407,6 +410,7 @@ int Xorriso_set_filter(struct XorrisO *xorriso, void *in_node, Xorriso_report_iso_error(xorriso, "", filter_ret, "Error when setting filter to ISO node", 0, "FAILURE", 1); } + did_work= 1; } if(filter_ret != 1 && new_name[0] && old_name != NULL) { ret = iso_node_set_name(node, old_name); @@ -416,6 +420,7 @@ int Xorriso_set_filter(struct XorrisO *xorriso, void *in_node, Xorriso_report_iso_error(xorriso, "", ret, "Error when renaming ISO node", 0, "FAILURE", 1); } + did_work= 1; } if(flag & 2) { xorriso->pacifier_count++; @@ -428,6 +433,8 @@ int Xorriso_set_filter(struct XorrisO *xorriso, void *in_node, ret= filter_ret; ex:; + if(did_work) + Xorriso_set_change_pending(xorriso, 0); if(old_name != NULL) free(old_name); Xorriso_free_meM(new_name); diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 5ca8b416..4ca9f925 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2012.02.29.135454" +#define Xorriso_timestamP "2012.03.03.104637"