Bug 99360 - Fix cache file update on MinGW
On Windows, opened or locked files cannot be removed.
Since fontconfig locked an old cache file while updating the file,
fontconfig failed to replace the file with updated file on Windows.
This patch makes fontconfig does not lock the old cache file
while updating it on Windows.
diff --git a/src/fcdir.c b/src/fcdir.c
index fd62a34..c8aaf54 100644
--- a/src/fcdir.c
+++ b/src/fcdir.c
@@ -362,7 +362,9 @@
if (!dirs)
goto bail1;
+#ifndef _WIN32
fd = FcDirCacheLock (dir, config);
+#endif
/*
* Scan the dir
*/
@@ -382,7 +384,9 @@
FcDirCacheWrite (cache, config);
bail2:
+#ifndef _WIN32
FcDirCacheUnlock (fd);
+#endif
FcStrSetDestroy (dirs);
bail1:
FcFontSetDestroy (set);
@@ -417,7 +421,9 @@
if (!dirs)
goto bail;
+#ifndef _WIN32
fd = FcDirCacheLock (dir, config);
+#endif
/*
* Scan the dir
*/
@@ -436,7 +442,9 @@
FcDirCacheWrite (new, config);
bail1:
+#ifndef _WIN32
FcDirCacheUnlock (fd);
+#endif
FcStrSetDestroy (dirs);
bail:
if (d)