]> git.wh0rd.org - fontconfig.git/blobdiff - src/fcinit.c
[fcformat] Enumerate langsets like we do arrays of values
[fontconfig.git] / src / fcinit.c
index 7d2311fae2bdb5fc9112f2ea772c5d731f52ec0d..efe95fa6f5aac40a5665bb0bfc9a3fa028837675 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $RCSId: xc/lib/fontconfig/src/fcinit.c,v 1.7 2002/08/22 07:36:44 keithp Exp $
+ * fontconfig/src/fcinit.c
  *
  * Copyright © 2001 Keith Packard
  *
@@ -69,6 +69,25 @@ FcInitLoadConfig (void)
        FcConfigDestroy (config);
        return FcInitFallbackConfig ();
     }
+    
+    if (config->cacheDirs && config->cacheDirs->num == 0)
+    {
+       fprintf (stderr,
+                "Fontconfig warning: no <cachedir> elements found. Check configuration.\n");
+       fprintf (stderr,
+                "Fontconfig warning: adding <cachedir>%s</cachedir>\n",
+                FC_CACHEDIR);
+       fprintf (stderr,
+                "Fontconfig warning: adding <cachedir>~/.fontconfig</cachedir>\n");
+       if (!FcConfigAddCacheDir (config, (FcChar8 *) FC_CACHEDIR) ||
+           !FcConfigAddCacheDir (config, (FcChar8 *) "~/.fontconfig"))
+       {
+           fprintf (stderr,
+                    "Fontconfig error: out of memory");
+           FcConfigDestroy (config);
+           return FcInitFallbackConfig ();
+       }
+    }
 
     return config;
 }
@@ -104,7 +123,7 @@ FcInit (void)
        return FcTrue;
     config = FcInitLoadConfigAndFonts ();
     if (!config)
-       return FcTrue;
+       return FcFalse;
     FcConfigSetCurrent (config);
     if (FcDebug() & FC_DBG_MEMORY)
        FcMemReport ();
@@ -122,6 +141,8 @@ FcFini (void)
 
     FcPatternFini ();
     FcCacheFini ();
+    if (FcDebug() & FC_DBG_MEMORY)
+       FcMemReport ();
 }
 
 /*