Do not regard file as changed just because no ino was recorded

master
Thomas Schmitt 12 years ago
parent ddecb74f6e
commit 08e439c48d
  1. 5
      xorriso/cmp_update.c
  2. 3
      xorriso/sort_cmp.c
  3. 2
      xorriso/xorriso_timestamp.h

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
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)

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

@ -1 +1 @@
#define Xorriso_timestamP "2011.02.04.191922"
#define Xorriso_timestamP "2011.02.07.182947"

Loading…
Cancel
Save