Date: Mon, 16 Jun 2025 15:12:29 GMT From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 1025a1c090df - main - exterr: convert SET_ERRORX() to pseudo-variadic EXTERROR() Message-ID: <202506161512.55GFCTkg057542@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1025a1c090dfcaa13bb25d1d1e2e2fa7009d63ca commit 1025a1c090dfcaa13bb25d1d1e2e2fa7009d63ca Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2025-06-14 13:53:33 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2025-06-16 15:11:58 +0000 exterr: convert SET_ERRORX() to pseudo-variadic EXTERROR() Stealed from the CTR() macro in sys/ktr.h. Suggested by: jhb Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D50845 --- sys/sys/exterrvar.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sys/sys/exterrvar.h b/sys/sys/exterrvar.h index d3c2c7c92d06..15557c614f88 100644 --- a/sys/sys/exterrvar.h +++ b/sys/sys/exterrvar.h @@ -36,11 +36,17 @@ #define SET_ERROR_MSG(mmsg) NULL #endif -#define SET_ERROR2(eerror, mmsg, pp1, pp2) \ +#define _SET_ERROR2(eerror, mmsg, pp1, pp2) \ exterr_set(eerror, EXTERR_CATEGORY, SET_ERROR_MSG(mmsg), \ (uintptr_t)(pp1), (uintptr_t)(pp2), __LINE__) -#define SET_ERROR0(eerror, mmsg) SET_ERROR2(eerror, mmsg, 0, 0) -#define SET_ERROR1(eerror, mmsg, pp1) SET_ERROR2(eerror, mmsg, pp1, 0) +#define _SET_ERROR0(eerror, mmsg) _SET_ERROR2(eerror, mmsg, 0, 0) +#define _SET_ERROR1(eerror, mmsg, pp1) _SET_ERROR2(eerror, mmsg, pp1, 0) + +#define _EXTERROR_MACRO(eerror, mmsg, _1, _2, NAME, ...) \ + NAME +#define EXTERROR(...) \ + _EXTERROR_MACRO(__VA_ARGS__, _SET_ERROR2, _SET_ERROR1, \ + _SET_ERROR0)(__VA_ARGS__) int exterr_set(int eerror, int category, const char *mmsg, uintptr_t pp1, uintptr_t pp2, int line);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202506161512.55GFCTkg057542>