summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2019-02-09 19:27:55 -0500
committerJakob Kaivo <jkk@ung.org>2019-02-09 19:27:55 -0500
commitfe83840aa8e672c6391fa9642516e41a144340c5 (patch)
tree993cd5ea966f6e9979b6ddc5be3bf10c80ed72a1
parent77a1100e9523c395fd0a27cbc4d1fa5b93ba4351 (diff)
unbreak
-rw-r--r--src/nonstd/SYSCALL.c4
-rw-r--r--src/nonstd/SYSCALL0.c2
-rw-r--r--src/nonstd/SYSCALL_NOFAIL.c2
-rw-r--r--src/nonstd/SYSCALL_NUMBER.c7
4 files changed, 7 insertions, 8 deletions
diff --git a/src/nonstd/SYSCALL.c b/src/nonstd/SYSCALL.c
index 4c04ab1b..8f91d870 100644
--- a/src/nonstd/SYSCALL.c
+++ b/src/nonstd/SYSCALL.c
@@ -1,9 +1,9 @@
#include <nonstd/syscall.h>
-#define SYSCALL(_name, _type, ...)
+#define SYSCALL(_name, _type, _args) \
static int _scno = -2; \
if (_scno == -2) { _scno = ((syscall_lookup_t)__libc(SYSCALL_LOOKUP))(_name); } \
- _type _ret = __syscall(_scno, __VA_ARGS__); \
+ _type _ret = __syscall(_scno, _args); \
if (_ret < 0) { \
errno = -_ret; \
return -1; \
diff --git a/src/nonstd/SYSCALL0.c b/src/nonstd/SYSCALL0.c
index c52a944d..c9359035 100644
--- a/src/nonstd/SYSCALL0.c
+++ b/src/nonstd/SYSCALL0.c
@@ -1,6 +1,6 @@
#include <nonstd/syscall.h>
-#define SYSCALL0(_name, _type)
+#define SYSCALL0(_name, _type) \
static int _scno = -2; \
if (_scno == -2) { _scno = ((sycall_lookup_t)__libc(LOOKUP))(_name); } \
_type _ret = __syscall(_scno); \
diff --git a/src/nonstd/SYSCALL_NOFAIL.c b/src/nonstd/SYSCALL_NOFAIL.c
index 715fde95..e609e76d 100644
--- a/src/nonstd/SYSCALL_NOFAIL.c
+++ b/src/nonstd/SYSCALL_NOFAIL.c
@@ -1,6 +1,6 @@
#include <nonstd/syscall.h>
-#define SYSCALL_NOFAIL(_name)
+#define SYSCALL_NOFAIL(_name) \
static int _scno = -2; \
if (_scno == -2) { _scno = __libc(SYSCALL_LOOKUP)(_name); } \
return __libc(SYSCALL)(_scno)
diff --git a/src/nonstd/SYSCALL_NUMBER.c b/src/nonstd/SYSCALL_NUMBER.c
index f37e4a21..10f2aeeb 100644
--- a/src/nonstd/SYSCALL_NUMBER.c
+++ b/src/nonstd/SYSCALL_NUMBER.c
@@ -1,8 +1,7 @@
#include <nonstd/syscall.h>
-#define SYSCALL_NUMBER(_var, _name, _notfound) long _var = _notfound
-
- static int _var = -2; do { \
- if (_var == -2) { (_var) = __libc(SYSCALL_LOOKUP)(_name); } \
+#define SYSCALL_NUMBER(_var, _name, _notfound) \
+ static long _var = -2; do { \
+ if (_var == -2) { (_var) = ((long (*)(char*))__libc(SYSCALL_LOOKUP))(_name); } \
if (_var == -1) { errno = ENOSYS; return (_notfound); } \
} while (0)