If we turn off FLAG_HLINKED, set FLAG_HLINK_DONE so that any
authorWayne Davison <wayned@samba.org>
Tue, 4 Sep 2007 06:53:47 +0000 (06:53 +0000)
committerWayne Davison <wayned@samba.org>
Tue, 4 Sep 2007 06:53:47 +0000 (06:53 +0000)
file-entry values affected by HLINK_BUMP() stay put.

hlink.c

diff --git a/hlink.c b/hlink.c
index f82d3b9..9d38d30 100644 (file)
--- a/hlink.c
+++ b/hlink.c
@@ -151,7 +151,10 @@ static void match_gnums(int32 *ndx_list, int ndx_count)
                                prev = ndx_list[from] + hlink_flist->ndx_start;
                }
                if (prev < 0 && !inc_recurse) {
                                prev = ndx_list[from] + hlink_flist->ndx_start;
                }
                if (prev < 0 && !inc_recurse) {
+                       /* Indicate that this item isn't hard-linked without
+                        * affecting any HLINK_BUMP()-dependent values. */
                        file->flags &= ~(FLAG_HLINKED | FLAG_HLINK_FIRST);
                        file->flags &= ~(FLAG_HLINKED | FLAG_HLINK_FIRST);
+                       file->flags |= FLAG_HLINK_DONE;
                        continue;
                }
 
                        continue;
                }