aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorverdant <im@verdant.ee>2026-07-27 09:26:53 +0800
committerverdant <im@verdant.ee>2026-07-27 09:26:53 +0800
commit8cb4f73bca481eb08448289c86a8e3b7392414cf (patch)
treef942db859bd64f5362468df36d62e8e6a2574ffc
parent61145cc76cd19343c6529a94d481ee0e007f6c86 (diff)
downloadsf-8cb4f73bca481eb08448289c86a8e3b7392414cf.tar.gz
sf-8cb4f73bca481eb08448289c86a8e3b7392414cf.zip
Implement xrealloc
-rw-r--r--mem.c10
-rw-r--r--mem.h3
2 files changed, 12 insertions, 1 deletions
diff --git a/mem.c b/mem.c
index dda95d6..baa7977 100644
--- a/mem.c
+++ b/mem.c
@@ -14,3 +14,13 @@ void *xmalloc(size_t size)
}
return rtn;
}
+
+void *xrealloc(void *p, size_t size)
+{
+ void *pmem = realloc(p, size);
+
+ if (!pmem)
+ free(p);
+
+ return pmem;
+}
diff --git a/mem.h b/mem.h
index 8c1c7e2..4b9b095 100644
--- a/mem.h
+++ b/mem.h
@@ -3,6 +3,7 @@
#include <stddef.h>
-void* xmalloc(size_t size);
+void *xmalloc(size_t size);
+void *xrealloc(void *p, size_t size);
#endif /* SS_MEM_H */