]> asedeno.scripts.mit.edu Git - PuTTY_svn.git/blobdiff - puttymem.h
Enhance my 'sresize' macro so that it type-checks the pointer you pass
[PuTTY_svn.git] / puttymem.h
index 06c294d91682df8436b94cc017f074323883d561..6ef3f794931a326feb358a3fb1f80ff4c8401e97 100644 (file)
@@ -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