diff options
Diffstat (limited to 'fontconfig/fc-cache')
-rw-r--r-- | fontconfig/fc-cache/fc-cache.c | 10 |
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. |