diff options
Diffstat (limited to 'src/common/utils.hpp')
-rw-r--r-- | src/common/utils.hpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/common/utils.hpp b/src/common/utils.hpp new file mode 100644 index 0000000..1097bf7 --- /dev/null +++ b/src/common/utils.hpp @@ -0,0 +1,26 @@ +#ifndef UTILS_HPP +#define UTILS_HPP + +#include "sanity.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 + +int remove_control_chars (char *str); +int e_mail_check (const char *email); +int config_switch (const char *str); +const char *ip2str(struct in_addr ip, bool extra_dot = false); + +#endif //UTILS_HPP |