summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2011-05-03 13:39:38 +0200
committerMarc-André Lureau <marcandre.lureau@redhat.com>2011-05-03 16:49:56 +0200
commitdc1d4bdb680e6fcfa078fecae5a00966b644b0a9 (patch)
treeba05847707dd3d2ce3afd8522424a4f1062baabc /common
parentfc80f096e4b0432f873807c6d5d7a66ebb345323 (diff)
downloadspice-dc1d4bdb680e6fcfa078fecae5a00966b644b0a9.tar.gz
spice-dc1d4bdb680e6fcfa078fecae5a00966b644b0a9.tar.xz
spice-dc1d4bdb680e6fcfa078fecae5a00966b644b0a9.zip
common: mem.h add alloca definition
We don't support the autoconf ALLOCA/C_ALLOC fallback. If one day, someone cares for a weird platform, he can fix it.
Diffstat (limited to 'common')
-rw-r--r--common/mem.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/common/mem.h b/common/mem.h
index 8ba6586b..980ea139 100644
--- a/common/mem.h
+++ b/common/mem.h
@@ -22,10 +22,40 @@
#include <stdlib.h>
#include <spice/macros.h>
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+#elif defined __GNUC__
+# define alloca __builtin_alloca
+#elif defined _AIX
+# define alloca __alloca
+#elif defined _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+#else
+# ifndef HAVE_ALLOCA
+# ifdef __cplusplus
+extern "C"
+# endif
+void *alloca (size_t);
+# endif
+#endif
+
typedef struct SpiceChunk {
uint8_t *data;
uint32_t len;