stat-util: add fd_verify_directory(), similar to fd_verify_regular()

This commit is contained in:
Lennart Poettering 2018-10-26 16:51:00 +02:00
parent 0c9448fa82
commit 844416b64c
2 changed files with 26 additions and 0 deletions

View File

@ -296,3 +296,26 @@ int fd_verify_regular(int fd) {
return stat_verify_regular(&st);
}
int stat_verify_directory(const struct stat *st) {
assert(st);
if (S_ISLNK(st->st_mode))
return -ELOOP;
if (!S_ISDIR(st->st_mode))
return -ENOTDIR;
return 0;
}
int fd_verify_directory(int fd) {
struct stat st;
assert(fd >= 0);
if (fstat(fd, &st) < 0)
return -errno;
return stat_verify_directory(&st);
}

View File

@ -59,3 +59,6 @@ int path_is_temporary_fs(const char *path);
int stat_verify_regular(const struct stat *st);
int fd_verify_regular(int fd);
int stat_verify_directory(const struct stat *st);
int fd_verify_directory(int fd);