]> Dogcows Code - chaz/tar/blobdiff - src/misc.c
Fix extraction from concatenated incremental archives.
[chaz/tar] / src / misc.c
index cc2fef85a6c5781904ea9ca496c6ea26de9b1bb9..d263c0785da5503be29f40c02c45bd02e28372f2 100644 (file)
@@ -288,7 +288,8 @@ normalize_filename (int cdidx, const char *name)
          this following approach may lead to situations where the same
          file or directory is processed twice under different absolute
          paths without that duplication being detected.  Perhaps we
-         should use dev+ino pairs instead of names?  */
+         should use dev+ino pairs instead of names?  (See listed03.at for
+         a related test case.) */
       const char *cdpath = tar_getcdpath (cdidx);
       size_t copylen;
       bool need_separator;
@@ -585,7 +586,12 @@ safer_rmdir (const char *file_name)
       return -1;
     }
 
-  return unlinkat (chdir_fd, file_name, AT_REMOVEDIR);
+  if (unlinkat (chdir_fd, file_name, AT_REMOVEDIR) == 0)
+    {
+      remove_delayed_set_stat (file_name);
+      return 0;
+    }
+  return -1;
 }
 
 /* Remove FILE_NAME, returning 1 on success.  If FILE_NAME is a directory,
This page took 0.023888 seconds and 4 git commands to generate.