diff options
| author | Adam <Adam@anope.org> | 2014-06-23 09:45:15 -0400 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2014-06-23 09:45:15 -0400 |
| commit | fd9bb0ea7e3c8a39f1632c2ebbdc25d0fac192a0 (patch) | |
| tree | 1d68e86065e0b012aee41533d4f9b289ee0707ac /src/win32 | |
| parent | 148b26f687ce85dc01e852a2358b03d493757ada (diff) | |
| parent | 9a947fa4359c667be58ebae4634d9ac0e53d5db4 (diff) | |
Merge branch '2.0' into 2.1
Conflicts:
cmake/Anope.cmake
cmake/FindGettext.cmake
include/access.h
include/messages.h
include/modes.h
include/modules.h
include/users.h
modules/CMakeLists.txt
modules/commands/bs_bot.cpp
modules/commands/cs_access.cpp
modules/commands/cs_ban.cpp
modules/commands/cs_clone.cpp
modules/commands/cs_flags.cpp
modules/commands/cs_info.cpp
modules/commands/cs_list.cpp
modules/commands/cs_log.cpp
modules/commands/cs_mode.cpp
modules/commands/cs_status.cpp
modules/commands/cs_suspend.cpp
modules/commands/cs_updown.cpp
modules/commands/cs_xop.cpp
modules/commands/ms_check.cpp
modules/commands/ns_access.cpp
modules/commands/ns_cert.cpp
modules/commands/ns_group.cpp
modules/commands/ns_register.cpp
modules/commands/ns_set.cpp
modules/commands/ns_suspend.cpp
modules/commands/os_session.cpp
modules/commands/os_svs.cpp
modules/extra/m_ldap_authentication.cpp
modules/extra/m_regex_pcre.cpp
modules/extra/m_sql_authentication.cpp
modules/extra/stats/m_chanstats.cpp
modules/protocol/bahamut.cpp
modules/protocol/hybrid.cpp
modules/protocol/inspircd12.cpp
modules/protocol/inspircd20.cpp
modules/protocol/unreal.cpp
modules/pseudoclients/chanserv.cpp
modules/pseudoclients/chanserv/channel.cpp
modules/pseudoclients/nickserv/nickserv.cpp
modules/webcpanel/pages/chanserv/access.cpp
src/access.cpp
src/bots.cpp
src/channels.cpp
src/language.cpp
src/modes.cpp
src/modulemanager.cpp
src/process.cpp
src/users.cpp
src/version.sh
Diffstat (limited to 'src/win32')
| -rw-r--r-- | src/win32/anope_windows.h | 2 | ||||
| -rw-r--r-- | src/win32/dl/dl.cpp | 3 | ||||
| -rw-r--r-- | src/win32/windows.cpp | 17 |
3 files changed, 14 insertions, 8 deletions
diff --git a/src/win32/anope_windows.h b/src/win32/anope_windows.h index f2a496c33..061934752 100644 --- a/src/win32/anope_windows.h +++ b/src/win32/anope_windows.h @@ -74,7 +74,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(); diff --git a/src/win32/dl/dl.cpp b/src/win32/dl/dl.cpp index b7ffddaa3..5b19d7441 100644 --- a/src/win32/dl/dl.cpp +++ b/src/win32/dl/dl.cpp @@ -15,7 +15,8 @@ void *dlopen(const char *filename, int) char *dlerror(void) { - static Anope::string err = Anope::LastError(); + static Anope::string err; + err = Anope::LastError(); SetLastError(0); return err.empty() ? NULL : const_cast<char *>(err.c_str()); } diff --git a/src/win32/windows.cpp b/src/win32/windows.cpp index 319bebf58..a70ff53c3 100644 --- a/src/win32/windows.cpp +++ b/src/win32/windows.cpp @@ -20,12 +20,13 @@ static struct WindowsLanguage { - const char *languageName; + Anope::string languageName; USHORT windowsLanguageName; } WindowsLanguages[] = { {"ca_ES", LANG_CATALAN}, {"de_DE", LANG_GERMAN}, {"el_GR", LANG_GREEK}, + {"en_US", LANG_ENGLISH}, {"es_ES", LANG_SPANISH}, {"fr_FR", LANG_FRENCH}, {"hu_HU", LANG_HUNGARIAN}, @@ -35,7 +36,6 @@ static struct WindowsLanguage {"pt_PT", LANG_PORTUGUESE}, {"ru_RU", LANG_RUSSIAN}, {"tr_TR", LANG_TURKISH}, - {NULL, 0} }; static WSADATA wsa; @@ -51,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; } |
