summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Noland <rnoland@2hip.net>2009-09-22 11:49:57 -0700
committerBrian Paul <brianp@vmware.com>2009-09-28 09:48:45 -0600
commitd09941c8cc2d4620eb774744c8878921b9dc3bcc (patch)
tree00d8b079e3e0844210e00f9cb446795b832d7a03
parentfc613848e6f8f1c5405a7612b00a02ac2a794b80 (diff)
Fix build on non GLIBC platforms (FreeBSD at least)
Build was broken by commit 9666529b5a5be1fcde82caadc2fe2efa5ea81e49 I'm not certain that this is entirely the correct fix since the demo from bug #23774 seemed to work before the commit that broke the build. Signed-off-by: Robert Noland <rnoland@2hip.net> Signed-off-by: Brian Paul <brianp@vmware.com>
-rw-r--r--src/glx/x11/glxhash.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/glx/x11/glxhash.c b/src/glx/x11/glxhash.c
index 6f2c51d39d..b76ec32345 100644
--- a/src/glx/x11/glxhash.c
+++ b/src/glx/x11/glxhash.c
@@ -88,6 +88,12 @@
#define HASH_ALLOC malloc
#define HASH_FREE free
+#ifndef __GLIBC__
+#define HASH_RANDOM_DECL char *ps, rs[256]
+#define HASH_RANDOM_INIT(seed) ps = initstate(seed, rs, sizeof(rs))
+#define HASH_RANDOM random()
+#define HASH_RANDOM_DESTROY setstate(ps)
+#else
#define HASH_RANDOM_DECL struct random_data rd; int32_t rv; char rs[256]
#define HASH_RANDOM_INIT(seed) \
do { \
@@ -96,6 +102,7 @@
} while(0)
#define HASH_RANDOM ((void) random_r(&rd, &rv), rv)
#define HASH_RANDOM_DESTROY
+#endif
typedef struct __glxHashBucket
{