diff options
-rw-r--r-- | example.c | 4 | ||||
-rw-r--r-- | thunk.h | 6 |
2 files changed, 7 insertions, 3 deletions
@@ -4,14 +4,14 @@ #include "thunk.h" -THUNK_DEFINE(sum, int, a, int, b, int *, res) +THUNK_DEFINE_STATIC(sum, int, a, int, b, int *, res) { *res = a + b; return 0; } -THUNK_DEFINE(mult, int, a, int, b, int, c, int *, res) +THUNK_DEFINE_STATIC(mult, int, a, int, b, int, c, int *, res) { *res = a * b * c; @@ -375,7 +375,11 @@ struct thunk_t { * wrapped thunk_t. Calls to this function may then be supplied to anything * accepting a (thunk_t *) by simply wrapping the call with THUNK(). */ -#define THUNK_DEFINE(_name, ...) \ + +/* This is the static variant for private everything static placed local to the + * function definition, all in one place in one fell swoop. + */ +#define THUNK_DEFINE_STATIC(_name, ...) \ static int _THUNK_GEN_PROTO(_name, __VA_ARGS__); \ typedef struct __thunk_environment_##_name { \ /* struct for encapsulating the calling environment */ \ |