diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2024-07-30 16:44:17 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2024-08-02 17:18:26 -0400 |
commit | 6290ce41f3ec1f889abb881cf90ca91da869b5b2 (patch) | |
tree | 679b1717100bd9f4c693d9d8b9463d51b195fd6c /src/ctx.h | |
parent | b8a008dc9b84804d8b2c751daa9c04bd86d5e59c (diff) | |
download | bfs-6290ce41f3ec1f889abb881cf90ca91da869b5b2.tar.xz |
parse: Take umask into account in parse_mode()
POSIX 2024 clarified that find(1) is meant to work exactly like chmod(1)
here, so for modes like +rw,-x with no "who" specified, apply the umask.
Link: https://www.austingroupbugs.net/view.php?id=1392
Diffstat (limited to 'src/ctx.h')
-rw-r--r-- | src/ctx.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -16,6 +16,7 @@ #include "trie.h" #include <stddef.h> #include <sys/resource.h> +#include <sys/types.h> #include <time.h> struct CFILE; @@ -98,6 +99,9 @@ struct bfs_ctx { /** The number of files owned by the context. */ int nfiles; + /** The current file creation mask. */ + mode_t umask; + /** The initial RLIMIT_NOFILE limits. */ struct rlimit orig_nofile; /** The current RLIMIT_NOFILE limits. */ |