diff options
author | Ian Moffett <ian@osmora.org> | 2024-02-14 11:19:41 -0500 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2024-02-14 11:19:41 -0500 |
commit | 34d83987c18df3e06db1528423841376072bb627 (patch) | |
tree | 4c2f3d2a8573b9b7ebc2364aeb68b40fc8919747 /sys/include | |
parent | 04144bdc723f253116a777a22ac074dac6150c59 (diff) |
kernel: Add __TRY_CALL() macro
This commit adds a macro to make testing if weak functions
are implemented, then running them, less messy. This allows you
to do so in one line.
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/include')
-rw-r--r-- | sys/include/sys/cdefs.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/include/sys/cdefs.h b/sys/include/sys/cdefs.h index 59c81d4..da78510 100644 --- a/sys/include/sys/cdefs.h +++ b/sys/include/sys/cdefs.h @@ -154,6 +154,13 @@ #define __MODULE_NAME(name) \ __used static const char *__THIS_MODULE = name +/* + * Attempts to call a __weak function. Does nothing + * if routine not implemented. + */ +#define __TRY_CALL(routine, ...) \ + if (routine != NULL) routine(__VA_ARGS__) + #else /* |