Remove unnecessary .gbs.conf file
[platform/upstream/fontconfig.git] / src / fccompat.c
index 0a9c135..31d80be 100644 (file)
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
 #include "fcint.h"
 
 #include <errno.h>
@@ -160,12 +156,6 @@ FcMakeTempfile (char *template)
    if (_mktemp_s(template, strlen(template) + 1) != 0)
        return -1;
    fd = FcOpen(template, O_RDWR | O_EXCL | O_CREAT, 0600);
-#else
-   /* warn at the runtime for just debugging purpose why something may
-    * goes wrong. mingw may not have one, but it shouldn't be reached since
-    * this function isn't used so far.
-    */
-   fprintf(stderr, "Fontconfig warning: No secure functions to create a temporary file\n");
 #endif
 
     return fd;
@@ -180,14 +170,27 @@ FcRandom(void)
     static struct random_data fcrandbuf;
     static char statebuf[256];
     static FcBool initialized = FcFalse;
+#ifdef _AIX
+    static char *retval;
+    long res;
+#endif
 
     if (initialized != FcTrue)
     {
-       initstate_r(time(NULL), statebuf, 256, &fcrandbuf);
+#ifdef _AIX
+       initstate_r (time (NULL), statebuf, 256, &retval, &fcrandbuf);
+#else
+       initstate_r (time (NULL), statebuf, 256, &fcrandbuf);
+#endif
        initialized = FcTrue;
     }
 
-    random_r(&fcrandbuf, &result);
+#ifdef _AIX
+    random_r (&res, &fcrandbuf);
+    result = (int32_t)res;
+#else
+    random_r (&fcrandbuf, &result);
+#endif
 #elif HAVE_RANDOM
     static char statebuf[256];
     char *state;
@@ -195,33 +198,64 @@ FcRandom(void)
 
     if (initialized != FcTrue)
     {
-       state = initstate(time(NULL), statebuf, 256);
+       state = initstate (time (NULL), statebuf, 256);
        initialized = FcTrue;
     }
     else
-       state = setstate(statebuf);
+       state = setstate (statebuf);
 
-    result = random();
+    result = random ();
 
-    setstate(state);
+    setstate (state);
 #elif HAVE_LRAND48
-    result = lrand48();
+    result = lrand48 ();
 #elif HAVE_RAND_R
-    static unsigned int seed = time(NULL);
+    static unsigned int seed = time (NULL);
 
-    result = rand_r(&seed);
+    result = rand_r (&seed);
 #elif HAVE_RAND
     static FcBool initialized = FcFalse;
 
     if (initialized != FcTrue)
     {
-       srand(time(NULL));
+       srand (time (NULL));
        initialized = FcTrue;
     }
-    result = rand();
+    result = rand ();
 #else
 # error no random number generator function available.
 #endif
 
     return result;
 }
+
+#ifdef _WIN32
+#include <direct.h>
+#define mkdir(path,mode) _mkdir(path)
+#endif
+
+FcBool
+FcMakeDirectory (const FcChar8 *dir)
+{
+    FcChar8 *parent;
+    FcBool  ret;
+
+    if (strlen ((char *) dir) == 0)
+       return FcFalse;
+
+    parent = FcStrDirname (dir);
+    if (!parent)
+       return FcFalse;
+    if (access ((char *) parent, F_OK) == 0)
+       ret = mkdir ((char *) dir, 0755) == 0 && chmod ((char *) dir, 0755) == 0;
+    else if (access ((char *) parent, F_OK) == -1)
+       ret = FcMakeDirectory (parent) && (mkdir ((char *) dir, 0755) == 0) && chmod ((char *) dir, 0755) == 0;
+    else
+       ret = FcFalse;
+    FcStrFree (parent);
+    return ret;
+}
+
+#define __fccompat__
+#include "fcaliastail.h"
+#undef __fccompat__