]> git.wh0rd.org - fontconfig.git/blobdiff - fc-cache/fc-cache.c
Add new API which unlinks directory caches and checks dir caches for
[fontconfig.git] / fc-cache / fc-cache.c
index 20c7c95bb5e92c952c5b64a7de760739a723c7af..388baa7651d3386cabf8887eeed3a2168e787952 100644 (file)
@@ -191,7 +191,7 @@ scanDirs (FcStrList *list, FcConfig *config, char *program, FcBool force, FcBool
            ret++;
            continue;
        }
-       if (!force && FcDirCacheValid (dir))
+       if (!force && FcDirCacheValid (dir) && FcDirCacheHasCurrentArch (dir))
        {
            if (verbose)
                printf ("skipping, %d fonts, %d dirs\n",
@@ -203,6 +203,10 @@ scanDirs (FcStrList *list, FcConfig *config, char *program, FcBool force, FcBool
                printf ("caching, %d fonts, %d dirs\n", 
                        set->nfont, nsubdirs (subdirs));
 
+            if (!FcDirCacheValid (dir))
+                if (!FcDirCacheUnlink (dir))
+                    ret++;
+
            if (!FcDirSave (set, subdirs, dir))
            {
                fprintf (stderr, "Can't save cache in \"%s\"\n", dir);