FYI

---------- Forwarded message ----------
From: Sergey Poznyakoff <[EMAIL PROTECTED]>
Date: Sep 8, 2006 6:45 PM
Subject: Re: [Bug-tar] debian bugs #377330 #379393
To: Vladimir Suplin <[EMAIL PROTECTED]>
Cc: [email protected]


Vladimir Suplin <[EMAIL PROTECTED]> wrote:

It seems that there are bugs in 1.15.91 version in incremen.c:
function try_purge_directory

Yes, there is.  I have installed the following patch.  Thanks for
reporting.

Regards,
Sergey

Index: src/incremen.c
===================================================================
RCS file: /cvsroot/tar/tar/src/incremen.c,v
retrieving revision 1.50
diff -p -u -r1.50 incremen.c
--- src/incremen.c      7 Aug 2006 21:29:27 -0000       1.50
+++ src/incremen.c      8 Sep 2006 16:42:45 -0000
@@ -1381,22 +1381,23 @@ try_purge_directory (char const *directo
       free (p);
      p = new_name (directory_name, cur);

-      if (!(entry = dumpdir_locate (current_stat_info.dumpdir, cur))
-         || (*entry == 'D' && S_ISDIR (st.st_mode))
-         || (*entry == 'Y' && !S_ISDIR (st.st_mode)))
+      if (deref_stat (false, p, &st))
       {
-         if (deref_stat (false, p, &st))
+         if (errno != ENOENT) /* FIXME: Maybe keep a list of renamed
+                                 dirs and check it here? */
           {
-             if (errno != ENOENT) /* FIXME: Maybe keep a list of renamed
-                                     dirs and check it here? */
-               {
-                 stat_diag (p);
-                 WARN ((0, 0, _("%s: Not purging directory: unable to stat"),
-                        quotearg_colon (p)));
-               }
-             continue;
+             stat_diag (p);
+             WARN ((0, 0, _("%s: Not purging directory: unable to stat"),
+                    quotearg_colon (p)));
           }
-         else if (one_file_system_option && st.st_dev != root_device)
+         continue;
+       }
+
+      if (!(entry = dumpdir_locate (current_stat_info.dumpdir, cur))
+         || (*entry == 'D' && !S_ISDIR (st.st_mode))
+         || (*entry == 'Y' && S_ISDIR (st.st_mode)))
+       {
+         if (one_file_system_option && st.st_dev != root_device)
           {
             WARN ((0, 0,
                    _("%s: directory is on a different device: not purging"),


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to