_____________________________________________________________________________
/ / Index / Goinfre / Resume / Links / Contact / Sitemap / .: v0.6.1.0 |^|
|\__/-------+ +--------+-------+---------+---------+-----------------+#|
| 1| /goinfre/libs/libdebugmalloc/core.h |#|
| 2| ========================================== |#|
| 3| |#|
| 4| [ raw ] [ download ] |#|
| 5| ` `` ````````````````````` |#|
| 6| |#|
| 7| #ifndef _XMALLOC_CORE_H |#|
| 8| # define _XMALLOC_CORE_H |#|
| 9| |#|
| 10| # include "common.h" |#|
| 11| |#|
| 12| #define _XM_PROTO , char *, int, char * |#|
| 13| #define _XM_ARGS_ , file, line, func |#|
| 14| #define _XM_PROTO_FULL , char *file, int line, char *func |#|
| 15| |#|
| 16| #define NOTHING (void)0; |#|
| 17| |#|
| 18| # define _XM_CALL(FUNC, ARGS) { if (FUNC != NULL) { FUNC ARGS; } |#|
| 19| } |#|
| 20| # define _XM_DEL(PTR) if (ptr != NULL) { \ |#|
| 21| _XM_CALL(_f_xmalloc_del, (ptr _XM_ARGS)) } |#|
| 22| |#|
| 23| # define _XM_FUNC(FUNC, RET, PROTO, ARGS, DELETE) \ |#|
| 24| void *_ml_x ## FUNC PROTO \ |#|
| 25| { \ |#|
| 26| RET ret; \ |#|
| 27| \ |#|
| 28| if ((ret = (RET)FUNC ARGS) == NULL) \ | |
| 29| { \ | |
| 30| (void)perror(#FUNC); \ | |
| 31| (void)abort(); \ | |
| 32| } \ | |
| 33| _XM_CALL(_f_xmalloc_add, \ | |
| 34| ((void *)ret, #FUNC, size _XM_ARGS_)); \ | |
| 35| DELETE; \ | |
| 36| return (ret); \ | |
| 37| } | |
| 38| | |
| 39| #endif | |
| 40| | |
+---+ | |
\_ \______ mo5.so - normal - 1337.so - rev.so - video_r.so +---------------+ |
|__ \_____ plain.so - color.so - comment.so / moul 2008 (c) |V|
\-----\______\________________________________________/-----------------+-+