diff options
Diffstat (limited to 'filesystem-posix.c')
-rw-r--r-- | filesystem-posix.c | 8 |
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; } |