goinfre/libs/libdebugmalloc/core.h

goinfre/libs/libdebugmalloc/core.h

  _____________________________________________________________________________ 
 /   / 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|
     \-----\______\________________________________________/-----------------+-+