(try_purge_directory): Initialize struct st. Fix condition for selecting candidates for removal.
This commit is contained in:
@@ -1381,22 +1381,23 @@ try_purge_directory (char const *directory_name)
|
||||
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"),
|
||||
|
||||
Reference in New Issue
Block a user