From c10a8dee07fc10cbe9295e1a088b15b6e357f774 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Fri, 18 May 2012 19:51:11 +0000 Subject: [PATCH] Enhance my 'sresize' macro so that it type-checks the pointer you pass _in_ to it, as well as the one it returns. Why have I never thought of doing that before?! [originally from svn r9539] --- puttymem.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/puttymem.h b/puttymem.h index 06c294d9..6ef3f794 100644 --- a/puttymem.h +++ b/puttymem.h @@ -37,6 +37,7 @@ void safefree(void *); */ #define snew(type) ((type *)snmalloc(1, sizeof(type))) #define snewn(n, type) ((type *)snmalloc((n), sizeof(type))) -#define sresize(ptr, n, type) ((type *)snrealloc((ptr), (n), sizeof(type))) +#define sresize(ptr, n, type) \ + ((type *)snrealloc((sizeof((type *)0 == (ptr)), (ptr)), (n), sizeof(type))) #endif