diff options
Diffstat (limited to 'src/common/utils.hpp')
-rw-r--r-- | src/common/utils.hpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/common/utils.hpp b/src/common/utils.hpp new file mode 100644 index 0000000..7c7da16 --- /dev/null +++ b/src/common/utils.hpp @@ -0,0 +1,18 @@ +#ifndef UTILS_HPP +#define UTILS_HPP +/* +Notes about memory allocation in tmwAthena: +There used to be 3 sources of allocation: these macros, +a{C,M,Re}alloc in common/malloc.{h,c}, and direct calls. +I deleted malloc.{h,c} because it was redundant; +future calls should either use this or depend on the coming segfault. +*/ +# define CREATE(result, type, number) \ + if (!((result) = (type *) calloc ((number), sizeof(type)))) \ + { perror("SYSERR: malloc failure"); abort(); } else (void)0 + +# define RECREATE(result,type,number) \ + if (!((result) = (type *) realloc ((result), sizeof(type) * (number))))\ + { perror("SYSERR: realloc failure"); abort(); } else (void)0 + +#endif //UTILS_HPP |