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

This commit is contained in:
Thomas Schmitt 2011-02-07 18:29:41 +00:00
parent ddecb74f6e
commit 08e439c48d
3 changed files with 6 additions and 4 deletions

View File

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

View File

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

View File

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