| Index: src/plugin/PluginSystem.cpp | 
| =================================================================== | 
| --- a/src/plugin/PluginSystem.cpp | 
| +++ b/src/plugin/PluginSystem.cpp | 
| @@ -1,40 +1,35 @@ | 
| #include "PluginStdAfx.h" | 
| + | 
| #include "PluginSystem.h" | 
| #include "PluginClient.h" | 
| -#include <array> | 
|  | 
| std::wstring GetBrowserLanguage() | 
| { | 
| LANGID lcid = GetUserDefaultLangID(); | 
| +  wchar_t language[128]; | 
| +  memset(language, 0, sizeof(language)); | 
| +  wchar_t country[128]; | 
| +  memset(language, 0, sizeof(country)); | 
| + | 
| std::wstring lang; | 
| -  // we use `size() - 1` here to avoid additional calls to get the required size or to get the | 
| -  // number of retrieved characters. | 
| +  int res = GetLocaleInfoW(lcid, LOCALE_SISO639LANGNAME, language, 127); | 
| +  if (res == 0) | 
| { | 
| -    std::array<wchar_t, 9> localeLanguage; | 
| -    localeLanguage.fill(L'\0'); | 
| -    int res = GetLocaleInfoW(lcid, LOCALE_SISO639LANGNAME, localeLanguage.data(), localeLanguage.size() - 1); | 
| -    if (res == 0) | 
| -    { | 
| -      DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_SYSINFO, PLUGIN_ERROR_SYSINFO_BROWSER_LANGUAGE, "System::GetBrowserLang - Failed"); | 
| -    } | 
| -    else | 
| -    { | 
| -      lang += localeLanguage.data(); | 
| -    } | 
| +    DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_SYSINFO, PLUGIN_ERROR_SYSINFO_BROWSER_LANGUAGE, "System::GetBrowserLang - Failed"); | 
| +  } | 
| +  else | 
| +  { | 
| +    lang += language; | 
| } | 
| lang += L"-"; | 
| +  res = GetLocaleInfoW(lcid, LOCALE_SISO3166CTRYNAME, country, 127); | 
| +  if (res == 0) | 
| { | 
| -    std::array<wchar_t, 9> localeCountry; | 
| -    localeCountry.fill(L'\0'); | 
| -    int res = GetLocaleInfoW(lcid, LOCALE_SISO3166CTRYNAME, localeCountry.data(), localeCountry.size() - 1); | 
| -    if (res == 0) | 
| -    { | 
| -      DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_SYSINFO, PLUGIN_ERROR_SYSINFO_BROWSER_LANGUAGE, "System::GetBrowserLang - failed to retrieve country"); | 
| -    } | 
| -    else | 
| -    { | 
| -      lang += localeCountry.data(); | 
| -    } | 
| +    DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_SYSINFO, PLUGIN_ERROR_SYSINFO_BROWSER_LANGUAGE, "System::GetBrowserLang - failed to retrieve country"); | 
| +  } | 
| +  else | 
| +  { | 
| +    lang += country; | 
| } | 
| return lang; | 
| } | 
|  |