From 484e1e33da7477b7278c9a3e9da878f0375dd75b Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Thu, 17 Dec 2020 16:27:23 -0800 Subject: Memory allocation failure checks, and a simpler new() function --- utils.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'utils.h') diff --git a/utils.h b/utils.h index bd79e3f..61c817f 100644 --- a/utils.h +++ b/utils.h @@ -14,6 +14,9 @@ // TODO: better error reporting #define check(cond, ...) do { if (!(cond)) { fprintf(stderr, __VA_ARGS__); fwrite("\n", 1, 1, stderr); _exit(1); } } while(0) #define debug(...) do { if (verbose) fprintf(stderr, __VA_ARGS__); } while(0) +#define new(t) memcheck(calloc(sizeof(t), 1)) +#define xcalloc(a,b) memcheck(calloc(a,b)) +#define xrealloc(a,b) memcheck(realloc(a,b)) __attribute__((nonnull)) unsigned char unescapechar(const char *escaped, const char **end); @@ -25,6 +28,7 @@ __attribute__((nonnull)) int matchchar(const char **str, char c); __attribute__((nonnull)) size_t unescape_string(char *dest, const char *src, size_t bufsize); +void *memcheck(void *p); #endif // vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1 -- cgit v1.2.3