Piotr Caban (@piotr) commented about dlls/msvcrt/locale.c:
/* locale.nls contains "Norwegian Nynorsk" instead for LOCALE_SENGLANGUAGE */
strcpy( buf, "Norwegian-Nynorsk" );
len = strlen( buf ) + 1;
wcscpy( wbuf, L"Norwegian-Nynorsk" );
len = wcslen( wbuf ) + 1; }
else len += GetLocaleInfoA(lcid, LOCALE_SENGLANGUAGE|LOCALE_NOUSEROVERRIDE, buf, 256);
buf[len-1] = '_';
len += GetLocaleInfoA(lcid, LOCALE_SENGCOUNTRY
|LOCALE_NOUSEROVERRIDE, &buf[len], 256-len);
buf[len-1] = '.';
sprintf(buf+len, "%d", cp);
len += strlen(buf+len);
else
+#endif
len += GetLocaleInfoEx(sname, LOCALE_SENGLANGUAGE|LOCALE_NOUSEROVERRIDE, wbuf, 256);
Since you're changing the code - how about changing 256 to ARRAY_SIZE(wbuf)?