When fc-cache is run without --force, use directory cache files to speed up

fc-cache run time.
This commit is contained in:
Patrick Lam 2005-10-12 07:55:42 +00:00
parent 23787a8f1b
commit 2eb8437406
3 changed files with 8 additions and 2 deletions

View File

@ -46,7 +46,7 @@ FcDirCacheProduce (FcFontSet *set, FcCache * metadata);
static FcBool static FcBool
FcDirCacheConsume (int fd, FcFontSet *set); FcDirCacheConsume (int fd, FcFontSet *set);
static FcBool FcBool
FcDirCacheRead (FcFontSet * set, FcStrSet * dirs, const FcChar8 *dir); FcDirCacheRead (FcFontSet * set, FcStrSet * dirs, const FcChar8 *dir);
static int static int
@ -690,7 +690,7 @@ FcCacheRead (FcConfig *config, FcGlobalCache * cache)
} }
/* read serialized state from the cache file */ /* read serialized state from the cache file */
static FcBool FcBool
FcDirCacheRead (FcFontSet * set, FcStrSet * dirs, const FcChar8 *dir) FcDirCacheRead (FcFontSet * set, FcStrSet * dirs, const FcChar8 *dir)
{ {
char *cache_file = (char *)FcStrPlus (dir, (FcChar8 *) "/" FC_DIR_CACHE_FILE); char *cache_file = (char *)FcStrPlus (dir, (FcChar8 *) "/" FC_DIR_CACHE_FILE);

View File

@ -138,6 +138,9 @@ FcDirScanConfig (FcFontSet *set,
*/ */
if (cache && FcGlobalCacheReadDir (set, dirs, cache, (char *)dir, config)) if (cache && FcGlobalCacheReadDir (set, dirs, cache, (char *)dir, config))
return FcTrue; return FcTrue;
if (FcDirCacheRead (set, dirs, dir))
return FcTrue;
} }
/* freed below */ /* freed below */

View File

@ -445,6 +445,9 @@ FcCacheRead (FcConfig *config, FcGlobalCache * cache);
FcBool FcBool
FcDirCacheWrite (FcFontSet *set, FcStrSet * dirs, const FcChar8 *dir); FcDirCacheWrite (FcFontSet *set, FcStrSet * dirs, const FcChar8 *dir);
FcBool
FcDirCacheRead (FcFontSet * set, FcStrSet * dirs, const FcChar8 *dir);
int int
FcCacheBankToIndex (int bank); FcCacheBankToIndex (int bank);