summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Weißschuh <linux@weissschuh.net>2026-05-14 14:05:11 +0200
committerThomas Weißschuh <linux@weissschuh.net>2026-05-14 17:41:02 +0200
commitced7994fc87d2d1c162d41ff32be876b09c8ad2b (patch)
tree579c47d67dcd101e2cce426696594380879bad34
parentbb2d82d41894cb30d836e9796ff67d2f9a71eccf (diff)
tools/nolibc: split implicit open flags into a macro
This logic is duplicated and its current form will be in the way of some upcoming simplificiations. Move it into a macro to avoid the duplication and enable some cleanups. Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Acked-by: Willy Tarreau <w@1wt.eu> Link: https://patch.msgid.link/20260514-nolibc-open-tmpfile-v2-1-b4c6c5efa266@weissschuh.net
-rw-r--r--tools/include/nolibc/fcntl.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/tools/include/nolibc/fcntl.h b/tools/include/nolibc/fcntl.h
index 014910a8e928..46f591cf82fd 100644
--- a/tools/include/nolibc/fcntl.h
+++ b/tools/include/nolibc/fcntl.h
@@ -14,6 +14,8 @@
#include "types.h"
#include "sys.h"
+#define __nolibc_open_flags(_flags) ((_flags) | O_LARGEFILE)
+
/*
* int openat(int dirfd, const char *path, int flags[, mode_t mode]);
*/
@@ -29,8 +31,6 @@ int openat(int dirfd, const char *path, int flags, ...)
{
mode_t mode = 0;
- flags |= O_LARGEFILE;
-
if (flags & O_CREAT) {
va_list args;
@@ -39,7 +39,7 @@ int openat(int dirfd, const char *path, int flags, ...)
va_end(args);
}
- return __sysret(_sys_openat(dirfd, path, flags, mode));
+ return __sysret(_sys_openat(dirfd, path, __nolibc_open_flags(flags), mode));
}
/*
@@ -57,8 +57,6 @@ int open(const char *path, int flags, ...)
{
mode_t mode = 0;
- flags |= O_LARGEFILE;
-
if (flags & O_CREAT) {
va_list args;
@@ -67,7 +65,7 @@ int open(const char *path, int flags, ...)
va_end(args);
}
- return __sysret(_sys_open(path, flags, mode));
+ return __sysret(_sys_open(path, __nolibc_open_flags(flags), mode));
}
/*