]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
basic/stat-util: introduce is_dir_fd()
authorFranck Bui <fbui@suse.com>
Fri, 20 Jul 2018 07:05:38 +0000 (09:05 +0200)
committerFranck Bui <fbui@suse.com>
Mon, 30 Jul 2018 13:54:03 +0000 (15:54 +0200)
src/basic/stat-util.c
src/basic/stat-util.h

index 07154e25bb131afbe6e1760cf6b43cfe31930ae8..762777e94fbbf13609df9ef36e64b4114b829daa 100644 (file)
@@ -45,6 +45,17 @@ int is_dir(const char* path, bool follow) {
         return !!S_ISDIR(st.st_mode);
 }
 
+int is_dir_fd(int fd) {
+        struct stat st;
+        int r;
+
+        r = fstat(fd, &st);
+        if (r < 0)
+                return -errno;
+
+        return !!S_ISDIR(st.st_mode);
+}
+
 int is_device_node(const char *path) {
         struct stat info;
 
index f8014ed30b05f9f6ef029604fa181e5ce1e46656..1a725f1da048409fd6c301cb0e8254c861a14245 100644 (file)
@@ -12,6 +12,7 @@
 
 int is_symlink(const char *path);
 int is_dir(const char *path, bool follow);
+int is_dir_fd(int fd);
 int is_device_node(const char *path);
 
 int dir_is_empty(const char *path);