summaryrefslogtreecommitdiff
path: root/src/nonstd/SYSCALL.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nonstd/SYSCALL.c')
-rw-r--r--src/nonstd/SYSCALL.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/nonstd/SYSCALL.c b/src/nonstd/SYSCALL.c
index 8f91d870..b5cab01c 100644
--- a/src/nonstd/SYSCALL.c
+++ b/src/nonstd/SYSCALL.c
@@ -1,11 +1,11 @@
#include <nonstd/syscall.h>
-#define SYSCALL(_name, _type, _args) \
+#define SYSCALL(_name, _type, _err, _a1, _a2, _a3, _a4, _a5, _a6) \
static int _scno = -2; \
if (_scno == -2) { _scno = ((syscall_lookup_t)__libc(SYSCALL_LOOKUP))(_name); } \
- _type _ret = __syscall(_scno, _args); \
+ long _ret = __syscall(_scno, _a1, _a2, _a3, _a4, _a5, _a6); \
if (_ret < 0) { \
errno = -_ret; \
- return -1; \
+ return _err; \
} \
- return _ret
+ return (_type)_ret