[PATCH] fix building for WIN32

Mark Brand mabrand at mabrand.nl
Mon Jun 11 03:38:33 PDT 2012


8c255fb185d5651b57380b0a9443001e8051b29d moved some code out of switch
but did not declare 'buffer'. Also, replacing the "break" with
"goto bail" neglected the WIN32 specific code.
---
 src/fcxml.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/fcxml.c b/src/fcxml.c
index 5201b3c..be1a555 100644
--- a/src/fcxml.c
+++ b/src/fcxml.c
@@ -1850,6 +1850,9 @@ FcParseDir (FcConfigParse *parse)
 {
     const FcChar8 *attr, *data;
     FcChar8 *prefix = NULL;
+#ifdef _WIN32
+    FcChar8         buffer[1000];
+#endif
 
     attr = FcConfigGetAttribute (parse, "prefix");
     if (attr && FcStrCmp (attr, (const FcChar8 *)"xdg") == 0)
@@ -1886,7 +1889,7 @@ FcParseDir (FcConfigParse *parse)
 	if (!GetModuleFileName (NULL, buffer, sizeof (buffer) - 20))
 	{
 	    FcConfigMessage (parse, FcSevereError, "GetModuleFileName failed");
-	    break;
+	    goto bail;
 	}
 	/*
 	 * Must use the multi-byte aware function to search
@@ -1905,7 +1908,7 @@ FcParseDir (FcConfigParse *parse)
 	if (!GetModuleFileName (NULL, buffer, sizeof (buffer) - 20))
 	{
 	    FcConfigMessage (parse, FcSevereError, "GetModuleFileName failed");
-	    break;
+	    goto bail;
 	}
 	p = _mbsrchr (data, '\\');
 	if (p) *p = '\0';
@@ -1919,7 +1922,7 @@ FcParseDir (FcConfigParse *parse)
 	if (rc == 0 || rc > sizeof (buffer) - 20)
 	{
 	    FcConfigMessage (parse, FcSevereError, "GetSystemWindowsDirectory failed");
-	    break;
+	    goto bail;
 	}
 	if (data [strlen (data) - 1] != '\\')
 	    strcat (data, "\\");
-- 
1.7.10.3


--------------050808000902090608010104--


More information about the Fontconfig mailing list