]> git.wh0rd.org - fontconfig.git/blobdiff - src/fccache.c
FcStrCanonFileName buggy for mingw. (bug 8311)
[fontconfig.git] / src / fccache.c
index e289c5dd89bd3f8a400a21fb8edacfa0645d42d2..6a3d8e8704612e35825bddce3a1021aa7e4fdb69 100644 (file)
@@ -213,6 +213,17 @@ struct _FcCacheSkip {
 static FcCacheSkip     *fcCacheChains[FC_CACHE_MAX_LEVEL];
 static int             fcCacheMaxLevel;
 
+#if HAVE_RANDOM
+# define FcRandom()  random()
+#else
+# if HAVE_LRAND48
+#  define FcRandom()  lrand48()
+# else
+#  if HAVE_RAND
+#   define FcRandom()  rand()
+#  endif
+# endif
+#endif
 /*
  * Generate a random level number, distributed
  * so that each level is 1/4 as likely as the one before
@@ -223,7 +234,7 @@ static int
 random_level (void)
 {
     /* tricky bit -- each bit is '1' 75% of the time */
-    long int   bits = random () | random ();
+    long int   bits = FcRandom () | FcRandom ();
     int        level = 0;
 
     while (++level < FC_CACHE_MAX_LEVEL)
@@ -678,6 +689,11 @@ bail1:
     return NULL;
 }
 
+
+#ifdef _WIN32
+#define mkdir(path,mode) _mkdir(path)
+#endif
+
 static FcBool
 FcMakeDirectory (const FcChar8 *dir)
 {