X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=fc-cache%2Ffc-cache.c;h=6aa53a5a76bc5c2445909f572509f6ca157fffb3;hb=cd9bca69702900ca9b24319c76b2dc9432bb548f;hp=fc0c4e511913ca3e90acd3f559281ffc9486d8c8;hpb=5e678e9459f71878d72f72d3765f7dc7e8f3f643;p=fontconfig.git diff --git a/fc-cache/fc-cache.c b/fc-cache/fc-cache.c index fc0c4e5..6aa53a5 100644 --- a/fc-cache/fc-cache.c +++ b/fc-cache/fc-cache.c @@ -183,7 +183,7 @@ scanDirs (FcStrList *list, FcConfig *config, char *program, FcBool force, FcBool FcStrSetDestroy (subdirs); continue; } - if (!FcDirScan (set, subdirs, 0, FcConfigGetBlanks (config), dir, force)) + if (!FcDirScanConfig (set, subdirs, 0, FcConfigGetBlanks (config), dir, force, config)) { fprintf (stderr, "\"%s\": error scanning\n", dir); FcFontSetDestroy (set); @@ -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,9 +203,15 @@ scanDirs (FcStrList *list, FcConfig *config, char *program, FcBool force, FcBool printf ("caching, %d fonts, %d dirs\n", set->nfont, nsubdirs (subdirs)); - if (!FcDirSave (set, dir)) + if (!FcDirCacheValid (dir)) + if (!FcDirCacheUnlink (dir)) + ret++; + + if (!FcDirSave (set, subdirs, dir)) { - fprintf (stderr, "Can't save cache in \"%s\"\n", dir); + if (!ret) + fprintf (stderr, "Caches are currently saved to \"%s\"\n", PKGCACHEDIR); + fprintf (stderr, "Can't save cache for \"%s\"\n", dir); ret++; } } @@ -269,7 +275,6 @@ main (int argc, char **argv) if (systemOnly) FcConfigEnableHome (FcFalse); - /* need to use FcInitLoadConfig when we use dirs */ config = FcInitLoadConfig (); if (!config) {