summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2015-01-31 01:03:09 -0500
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2015-02-01 12:44:04 -0500
commit612532206c531ab2aafd398338d5dd44cb6d3553 (patch)
tree845e523b1d18d280221be718838c1c72a2cedfec
parent0775b9b61120f8be99cd45a7df907b828188cb47 (diff)
tmpfiles: remove dead branch
In the test, p is a path to a directory, always absolute. dent->d_name is a single path component, so they cannot be equal. The comparison was wrong also for other reasons: D type supports globs, so direct comparisons using streq are not enough.
-rw-r--r--src/tmpfiles/tmpfiles.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index 473c51166b..e816bed201 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -465,18 +465,12 @@ static int dir_cleanup(
continue;
}
- if (i->type == IGNORE_DIRECTORY_PATH && streq(dent->d_name, p))
- log_debug("Ignoring directory \"%s\"", sub_path);
- else {
- log_debug("Removing directory \"%s\".", sub_path);
-
- if (unlinkat(dirfd(d), dent->d_name, AT_REMOVEDIR) < 0) {
- if (errno != ENOENT && errno != ENOTEMPTY) {
- log_error_errno(errno, "rmdir(%s): %m", sub_path);
- r = -errno;
- }
+ log_debug("Removing directory \"%s\".", sub_path);
+ if (unlinkat(dirfd(d), dent->d_name, AT_REMOVEDIR) < 0)
+ if (errno != ENOENT && errno != ENOTEMPTY) {
+ log_error_errno(errno, "rmdir(%s): %m", sub_path);
+ r = -errno;
}
- }
} else {
/* Skip files for which the sticky bit is