1
0
mirror of https://github.com/anope/anope.git synced 2026-07-10 05:43:13 +02:00

Fix WindowsGetLanguage()

This commit is contained in:
Adam
2014-06-10 22:00:00 -04:00
parent ab27b792b0
commit 8066378471
2 changed files with 11 additions and 7 deletions
+1 -1
View File
@@ -68,7 +68,7 @@ namespace Anope
extern CoreExport void OnStartup();
extern CoreExport void OnShutdown();
extern CoreExport USHORT WindowsGetLanguage(const char *lang);
extern CoreExport USHORT WindowsGetLanguage(const Anope::string &lang);
extern CoreExport int gettimeofday(timeval *tv, void *);
extern CoreExport Anope::string GetWindowsVersion();
extern CoreExport bool SupportedWindowsVersion();
+10 -6
View File
@@ -20,7 +20,7 @@
static struct WindowsLanguage
{
const char *languageName;
Anope::string languageName;
USHORT windowsLanguageName;
} WindowsLanguages[] = {
{"ca_ES", LANG_CATALAN},
@@ -36,7 +36,6 @@ static struct WindowsLanguage
{"pt_PT", LANG_PORTUGUESE},
{"ru_RU", LANG_RUSSIAN},
{"tr_TR", LANG_TURKISH},
{NULL, 0}
};
static WSADATA wsa;
@@ -52,11 +51,16 @@ void OnShutdown()
WSACleanup();
}
USHORT WindowsGetLanguage(const char *lang)
USHORT WindowsGetLanguage(const Anope::string &lang)
{
for (int i = 0; WindowsLanguages[i].languageName; ++i)
if (!strcmp(lang, WindowsLanguages[i].languageName))
return WindowsLanguages[i].windowsLanguageName;
for (int i = 0; i < sizeof(WindowsLanguages) / sizeof(WindowsLanguage); ++i)
{
WindowsLanguage &l = WindowsLanguages[i];
if (lang == l.languageName || !lang.find(l.languageName + "."))
return l.windowsLanguageName;
}
return LANG_NEUTRAL;
}