static FcStrSet *processed_dirs;
static int
-scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force, FcBool verbose)
+scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force, FcBool verbose, int *changed)
{
int ret = 0;
const FcChar8 *dir;
if (!cache)
{
+ (*changed)++;
cache = FcDirCacheRead (dir, FcTrue, config);
if (!cache)
{
continue;
}
FcStrSetAdd (processed_dirs, dir);
- ret += scanDirs (sublist, config, force, really_force, verbose);
+ ret += scanDirs (sublist, config, force, really_force, verbose, changed);
}
FcStrListDone (list);
return ret;
FcBool systemOnly = FcFalse;
FcConfig *config;
int i;
+ int changed;
int ret;
#if HAVE_GETOPT_LONG || HAVE_GETOPT
int c;
return 1;
}
- ret = scanDirs (list, config, force, really_force, verbose);
+ changed = 0;
+ ret = scanDirs (list, config, force, really_force, verbose, &changed);
FcStrSetDestroy (processed_dirs);
*/
FcConfigDestroy (config);
FcFini ();
- sleep (2);
+ if (changed)
+ sleep (2);
if (verbose)
printf ("%s: %s\n", argv[0], ret ? "failed" : "succeeded");
return ret;