diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2021-01-10 00:12:09 -0800 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2021-01-10 00:12:09 -0800 |
| commit | 9d1f51c483578c66d401a59f59ad18add0e1a52f (patch) | |
| tree | 569d53f5a3adb2e7de56bba7f38ad0267476aec2 /utils.c | |
| parent | aa91728a082cde784e01078944dc39e6df0877fa (diff) | |
Simplified grammars using intrusive linked lists instead of dynamic
arrays
Diffstat (limited to 'utils.c')
| -rw-r--r-- | utils.c | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -3,6 +3,7 @@ */ #include <ctype.h> +#include <stdlib.h> #include <unistd.h> #include "utils.h" @@ -186,6 +187,9 @@ size_t unescape_string(char *dest, const char *src, size_t bufsize) #undef PUT } +/* + * Fail and exit if a memory value is NULL + */ void *memcheck(void *p) { if (p == NULL) { @@ -195,7 +199,9 @@ void *memcheck(void *p) return p; } - +/* + * Case-insensitive memory comparison + */ int memicmp(const void *v1, const void *v2, size_t n) { int result = 0; @@ -205,4 +211,13 @@ int memicmp(const void *v1, const void *v2, size_t n) return result; } +/* + * Free memory, but also set the pointer to NULL for safety + */ +void xfree(void **p) +{ + free(*p); + p = NULL; +} + // vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1 |
