diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2017-07-29 18:23:01 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2017-07-29 18:23:01 -0400 |
commit | 53612664740f3a31d93d2059f7d981da3ba565dc (patch) | |
tree | aa64e8dd5a93df17114ac6bb40eb8df394ab16b8 | |
parent | 590c038630d453b3652b33e54b81fd06ceb0c6d2 (diff) | |
download | bfs-53612664740f3a31d93d2059f7d981da3ba565dc.tar.xz |
util: Define O_DIRECTORY to 0 if it's not already defined
-rw-r--r-- | bftw.c | 6 | ||||
-rw-r--r-- | eval.c | 6 | ||||
-rw-r--r-- | exec.c | 6 | ||||
-rw-r--r-- | util.h | 4 |
4 files changed, 7 insertions, 15 deletions
@@ -349,11 +349,7 @@ static bool bftw_should_retry(struct bftw_cache *cache, const struct bftw_dir *s static int bftw_dir_openat(struct bftw_cache *cache, struct bftw_dir *dir, const struct bftw_dir *base, int at_fd, const char *at_path) { assert(dir->fd < 0); - int flags = O_RDONLY | O_CLOEXEC; -#ifdef O_DIRECTORY - flags |= O_DIRECTORY; -#endif - + int flags = O_RDONLY | O_CLOEXEC | O_DIRECTORY; int fd = openat(at_fd, at_path, flags); if (fd < 0 && bftw_should_retry(cache, base)) { @@ -334,11 +334,7 @@ bool eval_empty(const struct expr *expr, struct eval_state *state) { struct BFTW *ftwbuf = state->ftwbuf; if (ftwbuf->typeflag == BFTW_DIR) { - int flags = O_RDONLY | O_CLOEXEC; -#ifdef O_DIRECTORY - flags |= O_DIRECTORY; -#endif - int dfd = openat(ftwbuf->at_fd, ftwbuf->at_path, flags); + int dfd = openat(ftwbuf->at_fd, ftwbuf->at_path, O_RDONLY | O_CLOEXEC | O_DIRECTORY); if (dfd < 0) { eval_error(state); goto done; @@ -306,11 +306,7 @@ static int bfs_exec_openwd(struct bfs_exec *execbuf, const struct BFTW *ftwbuf) } if (execbuf->wd_fd < 0) { - int flags = O_RDONLY | O_CLOEXEC; -#ifdef O_DIRECTORY - flags |= O_DIRECTORY; -#endif - execbuf->wd_fd = open(execbuf->wd_path, flags); + execbuf->wd_fd = open(execbuf->wd_path, O_RDONLY | O_CLOEXEC | O_DIRECTORY); } if (execbuf->wd_fd < 0) { @@ -50,6 +50,10 @@ # define S_ISWHT(mode) false #endif +#ifndef O_DIRECTORY +# define O_DIRECTORY 0 +#endif + /** * readdir() wrapper that makes error handling cleaner. */ |