The programmer should be aware that the functions are actually macros. This macro the macros are just their for convencience. The real safety-functions have the same name as the macro, but with a additional leading underscore. E.g.
extern int _clw_unlink(const char *s); #define clw_unlink( a ) _clw_unlink( (a) ))