diff options
Diffstat (limited to 'libc/inc')
-rw-r--r-- | libc/inc/sys.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libc/inc/sys.h b/libc/inc/sys.h index d95b760..0914bc4 100644 --- a/libc/inc/sys.h +++ b/libc/inc/sys.h @@ -14,6 +14,7 @@ int sys2(enum sys num, int d1, int d2); int sys3(enum sys num, int d1, int d2, int d3); int sys4(enum sys num, int d1, int d2, int d3, int d4); int sys5(enum sys num, int d1, int d2, int d3, int d4, int d5); +int sysv(enum sys num, ...); /** * Wrappers @@ -22,10 +23,12 @@ int sys5(enum sys num, int d1, int d2, int d3, int d4, int d5); #define loop() sys0(SYS_LOOP) #define read(path) (void *)sys1(SYS_READ, (int)path) #define write(path, buf) sys2(SYS_WRITE, (int)path, buf) -#define exec(path) sys1(SYS_EXEC, (int)path) +#define exec(path, ...) sysv(SYS_EXEC, (int)path, ##__VA_ARGS__) #define exit() \ - sys0(SYS_EXIT); \ - while (1) { \ + { \ + sys0(SYS_EXIT); \ + while (1) { \ + } \ } #endif |