From 08e439c48d27956e2bbb3d7e99132bd29da79253 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Mon, 7 Feb 2011 18:29:41 +0000 Subject: [PATCH] Do not regard file as changed just because no ino was recorded --- xorriso/cmp_update.c | 5 +++-- xorriso/sort_cmp.c | 3 ++- xorriso/xorriso_timestamp.h | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/xorriso/cmp_update.c b/xorriso/cmp_update.c index 8ce6ecfc..8148117a 100644 --- a/xorriso/cmp_update.c +++ b/xorriso/cmp_update.c @@ -1,7 +1,7 @@ /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. - Copyright 2007-2010 Thomas Schmitt, + Copyright 2007-2011 Thomas Schmitt, Provided under GPL version 2 or later. @@ -788,7 +788,8 @@ int Xorriso_update_interpreter(struct XorrisO *xorriso, void *boss_iter, } else { /* Hard link relation has changed resp. was not recorded. */ ret= Xorriso_hardlink_update(xorriso, &compare_result, - disk_path, iso_rr_path, flag & 4); + disk_path, iso_rr_path, + (flag & 4) | ((compare_result >> 21) & 2)); if(ret < 0) goto ex; if(ret == 2) diff --git a/xorriso/sort_cmp.c b/xorriso/sort_cmp.c index 657b83bd..09d3f21c 100644 --- a/xorriso/sort_cmp.c +++ b/xorriso/sort_cmp.c @@ -548,6 +548,7 @@ ex:; /* @param flag bit0= iso_rr_path is freshly added and up to date + bit1= do not mark as changed content (implied by bit0 too) bit2= -follow: this is not a command parameter @return -1= severe error 0= not applicable for hard links @@ -582,7 +583,7 @@ int Xorriso_hardlink_update(struct XorrisO *xorriso, int *compare_result, it must be updated now, even if it has currently no siblings which it leaves or which it joins. */ - if(!(flag & 1)) + if(!(flag & (1 | 2))) do_overwrite= 1; Xorriso__get_di(node, &old_dev, &old_ino, 0); diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index d9eaca56..fd5312cb 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2011.02.04.191922" +#define Xorriso_timestamP "2011.02.07.182947"