summaryrefslogtreecommitdiff
path: root/filesystem-posix.c
diff options
context:
space:
mode:
Diffstat (limited to 'filesystem-posix.c')
-rw-r--r--filesystem-posix.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/filesystem-posix.c b/filesystem-posix.c
index ebf1407..8af0bf2 100644
--- a/filesystem-posix.c
+++ b/filesystem-posix.c
@@ -16,6 +16,14 @@ FsType fs_path_type(char const *path) {
return FS_OTHER;
}
+FsPermission fs_path_permission(char const *path) {
+ int bits = access(path, R_OK | W_OK);
+ FsPermission perm = 0;
+ if (!(bits & R_OK)) perm |= FS_PERMISSION_READ;
+ if (!(bits & W_OK)) perm |= FS_PERMISSION_WRITE;
+ return perm;
+}
+
bool fs_file_exists(char const *path) {
return fs_path_type(path) == FS_FILE;
}