summaryrefslogtreecommitdiff
path: root/src/common/utils.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/utils.hpp')
-rw-r--r--src/common/utils.hpp18
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