#ifndef FNS_H #define FNS_H #define WRAPPER(fn, retn, ...) retn aplwc_wrapper_##fn(APLWC *aplwc, __VA_ARGS__) #define CALLFN(fn, ...) aplwc_wrapper_##fn(aplwc, __VA_ARGS__) WRAPPER(alloc, void *, size_t); WRAPPER(free, void, void *); WRAPPER(debug, void, char *); WRAPPER(fatal, void, char *); #define DEBUG(msg) CALLFN(debug, msg) #define FATAL(msg) CALLFN(fatal, msg) #define ASSERT(check, msg) do{if(!(check))FATAL(msg);}while(0) #endif /* FNS_H */