Commit c8d54fa3 authored by @wuzhangjin's avatar @wuzhangjin Committed by Willy Tarreau
Browse files

tools/nolibc: unistd.h: apply __sysret() helper



Use __sysret() to shrink the whole _syscall() to oneline code.

Reviewed-by: default avatarThomas Weißschuh <linux@weissschuh.net>
Signed-off-by: default avatarZhangjin Wu <falcon@tinylab.org>
Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
parent 428905da
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -56,16 +56,7 @@ int tcsetpgrp(int fd, pid_t pid)
	return ioctl(fd, TIOCSPGRP, &pid);
}

#define _syscall(N, ...)                                                      \
({                                                                            \
	long _ret = my_syscall##N(__VA_ARGS__);                               \
	if (_ret < 0) {                                                       \
		SET_ERRNO(-_ret);                                             \
		_ret = -1;                                                    \
	}                                                                     \
	_ret;                                                                 \
})

#define _syscall(N, ...) __sysret(my_syscall##N(__VA_ARGS__))
#define _syscall_narg(...) __syscall_narg(__VA_ARGS__, 6, 5, 4, 3, 2, 1, 0)
#define __syscall_narg(_0, _1, _2, _3, _4, _5, _6, N, ...) N
#define _syscall_n(N, ...) _syscall(N, __VA_ARGS__)