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--