]> Dogcows Code - chaz/tar/blobdiff - src/incremen.c
tar: --dereference consistency
[chaz/tar] / src / incremen.c
index c6d4f4c5849a2ecdb5e9633a36e718c95e195f93..628ff296dc13036c7d22f3271a19b700ca1c1991 100644 (file)
@@ -408,7 +408,7 @@ update_parent_directory (struct tar_stat_info *parent)
   if (directory)
     {
       struct stat st;
-      if (fstatat (parent->fd, ".", &st, fstatat_flags) != 0)
+      if (fstat (parent->fd, &st) != 0)
        stat_diag (directory->name);
       else
        directory->mtime = get_stat_mtime (&st);
@@ -890,7 +890,8 @@ append_incremental_renames (struct directory *dir)
   for (dp = dirhead; dp; dp = dp->next)
     store_rename (dp, &stk);
 
-  if (obstack_object_size (&stk) != size)
+  /* FIXME: Is this the right thing to do when DIR is null?  */
+  if (dir && obstack_object_size (&stk) != size)
     {
       obstack_1grow (&stk, 0);
       dumpdir_free (dir->dump);
@@ -1667,7 +1668,7 @@ try_purge_directory (char const *directory_name)
        free (p);
       p = new_name (directory_name, cur);
 
-      if (deref_stat (false, p, &st))
+      if (deref_stat (p, &st) != 0)
        {
          if (errno != ENOENT) /* FIXME: Maybe keep a list of renamed
                                  dirs and check it here? */
This page took 0.02485 seconds and 4 git commands to generate.