bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(no subject)


From: Brian Mays
Subject: (no subject)
Date: Sat, 07 Jul 2001 16:35:13 -0400

When hard-linked files (along with many other files) are archived to a
cpio ustar format archive, the files are _not_ all archived as hard
links to each other in the archive.  When the same set of files are
archived using crc format, the hard links for these files are archived
correctly.

Unfortunately, a simple test case to demonstrate this problem is hard
to reproduce, this problem does not usually appear unless creating an
archive with many other files.

The problem is a bug in the inode hash routines in util.c.  Two lines
reference the "start" variable when they should be using the "temp"
variable.  Please refer to the attached patch, which fixes the
problem.

- Brian

----- PATCH -----
--- util.c.orig Sat Jul  7 15:30:06 2001
+++ util.c      Sat Jul  7 15:30:28 2001
@@ -697,8 +697,8 @@
           temp = (temp + 1) % hash_size)
        {
          if (hash_table[temp]->inode == node_num
-             && hash_table[start]->major_num == major_num
-             && hash_table[start]->minor_num == minor_num)
+             && hash_table[temp]->major_num == major_num
+             && hash_table[temp]->minor_num == minor_num)
            return hash_table[temp]->file_name;
        }
     }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]