/* Unlink files.
- Copyright 2009, 2013 Free Software Foundation, Inc.
+ Copyright 2009, 2013-2014 Free Software Foundation, Inc.
This file is part of GNU tar.
{
struct deferred_unlink *p, *prev = NULL;
int saved_chdir = chdir_current;
-
+
for (p = dunlink_head; p; )
{
struct deferred_unlink *next = p->next;
{
const char *fname;
- if (p->file_name[0] == 0 ||
- strcmp (p->file_name, ".") == 0)
+ if (p->dir_idx
+ && (p->file_name[0] == 0
+ || strcmp (p->file_name, ".") == 0))
{
fname = tar_dirname ();
chdir_do (p->dir_idx - 1);
}
else
fname = p->file_name;
-
+
if (unlinkat (chdir_fd, fname, AT_REMOVEDIR) != 0)
{
switch (errno)