summaryrefslogtreecommitdiffstats
path: root/src/glx/x11/glxhash.c
diff options
context:
space:
mode:
authorRobert Noland <[email protected]>2009-09-22 11:49:57 -0700
committerBrian Paul <[email protected]>2009-09-28 09:48:45 -0600
commitd09941c8cc2d4620eb774744c8878921b9dc3bcc (patch)
tree00d8b079e3e0844210e00f9cb446795b832d7a03 /src/glx/x11/glxhash.c
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 <[email protected]> Signed-off-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/glx/x11/glxhash.c')
-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 6f2c51d39dd..b76ec323459 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
{