- if (ret && cache)
- FcGlobalCacheUpdate (cache, dirs, (char *)dir, tmpSet, config);
+ qsort(dirlist->strs, dirlist->num, sizeof(FcChar8 *), cmpstringp);
+ qsort(filelist->strs, filelist->num, sizeof(FcChar8 *), cmpstringp);
+
+ for (i = 0; i < filelist->num; i++)
+ FcFileScanFontConfig (tmpSet, blanks, filelist->strs[i], config);
+
+ if (FcShouldWriteFiles ())
+ {
+ /*
+ * Now that the directory has been scanned,
+ * write out the cache file
+ */
+ FcDirCacheWrite (tmpSet, dirlist, dir, config);
+ }