aboutsummaryrefslogtreecommitdiff
path: root/fontconfig/fc-cache/fc-cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'fontconfig/fc-cache/fc-cache.c')
-rw-r--r--fontconfig/fc-cache/fc-cache.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/fontconfig/fc-cache/fc-cache.c b/fontconfig/fc-cache/fc-cache.c
index bf3b6b482..99e0e9f42 100644
--- a/fontconfig/fc-cache/fc-cache.c
+++ b/fontconfig/fc-cache/fc-cache.c
@@ -187,8 +187,13 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
if (!cache)
{
- (*changed)++;
- cache = FcDirCacheRead (dir, FcTrue, config);
+ if (!recursive)
+ cache = FcDirCacheRescan (dir, config);
+ else
+ {
+ (*changed)++;
+ cache = FcDirCacheRead (dir, FcTrue, config);
+ }
if (!cache)
{
fprintf (stderr, "%s: error scanning\n", dir);
@@ -386,6 +391,7 @@ main (int argc, char **argv)
ret += scanDirs (list, config, FcTrue, really_force, verbose, FcFalse, &changed, NULL);
FcStrListDone (list);
}
+ FcStrSetDestroy (updateDirs);
/*
* Try to create CACHEDIR.TAG anyway.