]> de.git.xonotic.org Git - xonotic/d0_blind_id.git/blobdiff - d0.c
on G*nt**, initialized globals seem to be made of fail and crash
[xonotic/d0_blind_id.git] / d0.c
diff --git a/d0.c b/d0.c
index 64d0684a7b6f353cdb41917e2ec8273090d9ecf4..17934f0bfd67526aae41eab9781af94b796e6b07 100644 (file)
--- a/d0.c
+++ b/d0.c
@@ -97,12 +97,12 @@ static int dummy_unlockmutex(void *m)
 }
 #endif
 
-d0_malloc_t *d0_malloc = malloc;
-d0_free_t *d0_free = free;
-d0_createmutex_t *d0_createmutex = dummy_createmutex;
-d0_destroymutex_t *d0_destroymutex = dummy_destroymutex;
-d0_lockmutex_t *d0_lockmutex = dummy_lockmutex;
-d0_unlockmutex_t *d0_unlockmutex = dummy_unlockmutex;
+d0_malloc_t *d0_malloc = NULL;
+d0_free_t *d0_free = NULL;
+d0_createmutex_t *d0_createmutex = NULL;
+d0_destroymutex_t *d0_destroymutex = NULL;
+d0_lockmutex_t *d0_lockmutex = NULL;
+d0_unlockmutex_t *d0_unlockmutex = NULL;
 
 void d0_setmallocfuncs(d0_malloc_t *m, d0_free_t *f)
 {
@@ -117,3 +117,9 @@ void d0_setmutexfuncs(d0_createmutex_t *c, d0_destroymutex_t *d, d0_lockmutex_t
        d0_lockmutex = (l ? l : dummy_lockmutex);
        d0_unlockmutex = (u ? u : dummy_unlockmutex);
 }
+
+void d0_initfuncs(void)
+{
+       d0_setmallocfuncs(d0_malloc, d0_free);
+       d0_setmutexfuncs(d0_createmutex, d0_destroymutex, d0_lockmutex, d0_unlockmutex);
+}