diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2012-11-02 15:05:31 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-03-17 01:55:47 -0400 |
commit | 6cf487afad4ef4706b5d6d9ba5df24cac68e687a (patch) | |
tree | 0a4e37b9a937db6bc2ca81785105599dd625df30 /src/tmpfiles | |
parent | d18d46ecea80a7f07415edb9264af6a254fd70bb (diff) |
shared: export is_dir
Diffstat (limited to 'src/tmpfiles')
-rw-r--r-- | src/tmpfiles/tmpfiles.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index 52f80379e3..74a01271e9 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -542,7 +542,7 @@ static int recursive_relabel_children(Item *i, const char *path) { for (;;) { struct dirent *de; - bool is_dir; + bool dir; int r; _cleanup_free_ char *entry_path = NULL; @@ -567,18 +567,17 @@ static int recursive_relabel_children(Item *i, const char *path) { } if (de->d_type == DT_UNKNOWN) { - struct stat st; - - if (lstat(entry_path, &st) < 0) { + r = is_dir(entry_path); + if (r < 0) { if (ret == 0 && errno != ENOENT) ret = -errno; continue; } - is_dir = S_ISDIR(st.st_mode); + dir = r; } else - is_dir = de->d_type == DT_DIR; + dir = de->d_type == DT_DIR; r = item_set_perms(i, entry_path); if (r < 0) { @@ -587,7 +586,7 @@ static int recursive_relabel_children(Item *i, const char *path) { continue; } - if (is_dir) { + if (dir) { r = recursive_relabel_children(i, entry_path); if (r < 0 && ret == 0) ret = r; |