summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKUDr <KUDr@openttd.org>2007-07-27 23:49:48 +0000
committerKUDr <KUDr@openttd.org>2007-07-27 23:49:48 +0000
commit7a28ccbcf653aac64d5ac055968ecaa40747576a (patch)
tree35bcb99b7d32b03af9b042857fb6a8135d03b550
parentbcb8169b1278a2c4d9cb883faf7695127d6083e9 (diff)
downloadopenttd-7a28ccbcf653aac64d5ac055968ecaa40747576a.tar.xz
(svn r10713) -Cleanup (r10711): too long string buffers, unsafe sprintf used (Darkvater)
-rw-r--r--src/win32.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/win32.cpp b/src/win32.cpp
index 5bbc05524..7848a49fc 100644
--- a/src/win32.cpp
+++ b/src/win32.cpp
@@ -1268,14 +1268,13 @@ HRESULT OTTDSHGetFolderPath(HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags,
/** Determine the current user's locale. */
const char *GetCurrentLocale(const char *)
{
- char lang[32], country[32];
- static char retbuf[64];
+ char lang[9], country[9];
if (GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME, lang, lengthof(lang)) == 0 ||
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, country, lengthof(country)) == 0) {
/* Unable to retrieve the locale. */
return NULL;
}
/* Format it as 'en_us'. */
- sprintf(retbuf, "%c%c_%c%c", lang[0], lang[1], country[0], country[1]);
+ static char retbuf[6] = {lang[0], lang[1], '_', country[0], country[1], 0};
return retbuf;
}