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;
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,