diff --git a/nettle-internal.h b/nettle-internal.h index a814ed70ab84ab30ea98d4a19bf7dd43cf9f95fb..e0048b63c82b3ed72440626e7a17a7abdbe89656 100644 --- a/nettle-internal.h +++ b/nettle-internal.h @@ -35,13 +35,13 @@ * fix maximum size, and abort if we ever need anything larger. */ #if HAVE_ALLOCA -# define TMP_DECL(name, type, max) \ -type *name -# define TMP_ALLOC(name, size) \ -(name = alloca(sizeof (*name) * size)) +# if HAVE_ALLOCA_H +# include <alloca.h> +# endif +# define TMP_DECL(name, type, max) type *name +# define TMP_ALLOC(name, size) (name = alloca(sizeof (*name) * size)) #else /* !HAVE_ALLOCA */ -# define TMP_DECL(name, type, max) \ -type name[max] +# define TMP_DECL(name, type, max) type name[max] # define TMP_ALLOC(name, size) \ do { if (size > (sizeof(name) / sizeof(name[0]))) abort(); } while (0) #endif