X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/5a8afc787bcaafabd3aee68b6dac341962801b57..3d88e64dfcf5dc0fd361ce0c504c67a9196ce44c:/puttymem.h diff --git a/puttymem.h b/puttymem.h index 938e340b..9fe272fd 100644 --- a/puttymem.h +++ b/puttymem.h @@ -25,13 +25,14 @@ void *safemalloc(size_t); void *saferealloc(void *, size_t); void safefree(void *); - -/* smalloc a thing */ -#define smalloca(type) ((type *) smalloc (sizeof (type))) -/* smalloc a copy of a thing */ -#define smallocc(ptr) memcpy (smalloc (sizeof (*ptr)), ptr, sizeof (*ptr)) -/* smalloc n things */ -#define smallocn(n,type) ((type *) smalloc ((n) * sizeof (type))) - +/* + * Direct use of smalloc within the code should be avoided where + * possible, in favour of these type-casting macros which ensure + * you don't mistakenly allocate enough space for one sort of + * structure and assign it to a different sort of pointer. + */ +#define snew(type) ((type *)smalloc(sizeof(type))) +#define snewn(n, type) ((type *)smalloc((n)*sizeof(type))) +#define sresize(ptr, n, type) ((type *)srealloc(ptr, (n)*sizeof(type))) #endif