From c7e384a6357db8bcd0d02d6fa9a9f549d8b40fd3 Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Mon, 20 Nov 2023 00:42:11 +0100 Subject: LibC: Allow open to accept multiple arguments --- userland/libc/libc.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'userland/libc/libc.c') diff --git a/userland/libc/libc.c b/userland/libc/libc.c index e2f064d..dafd502 100644 --- a/userland/libc/libc.c +++ b/userland/libc/libc.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -181,7 +182,15 @@ void perror(const char *s) { printf("%s\n", strerror(errno)); } -int open(const char *file, int flags, int mode) { +int open(const char *file, int flags, ...) { + mode_t mode = 0; + + if (flags & O_CREAT) { + va_list ap; + va_start(ap, flags); + mode = va_arg(ap, mode_t); + va_end(ap); + } struct SYS_OPEN_PARAMS args = { .file = file, .flags = flags, -- cgit v1.2.3