| OLD | NEW | 
|---|
| 1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" | 
|  | 2 | 
| 2 #include "PluginSystem.h" | 3 #include "PluginSystem.h" | 
| 3 #include "PluginClient.h" | 4 #include "PluginClient.h" | 
| 4 #include <array> |  | 
| 5 | 5 | 
| 6 std::wstring GetBrowserLanguage() | 6 std::wstring GetBrowserLanguage() | 
| 7 { | 7 { | 
| 8   LANGID lcid = GetUserDefaultLangID(); | 8   LANGID lcid = GetUserDefaultLangID(); | 
|  | 9   wchar_t language[128]; | 
|  | 10   memset(language, 0, sizeof(language)); | 
|  | 11   wchar_t country[128]; | 
|  | 12   memset(language, 0, sizeof(country)); | 
|  | 13 | 
| 9   std::wstring lang; | 14   std::wstring lang; | 
| 10   // we use `size() - 1` here to avoid additional calls to get the required size
     or to get the | 15   int res = GetLocaleInfoW(lcid, LOCALE_SISO639LANGNAME, language, 127); | 
| 11   // number of retrieved characters. | 16   if (res == 0) | 
| 12   { | 17   { | 
| 13     std::array<wchar_t, 9> localeLanguage; | 18     DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_SYSINFO, PLUGIN_ERROR_SYSINFO
    _BROWSER_LANGUAGE, "System::GetBrowserLang - Failed"); | 
| 14     localeLanguage.fill(L'\0'); | 19   } | 
| 15     int res = GetLocaleInfoW(lcid, LOCALE_SISO639LANGNAME, localeLanguage.data()
    , localeLanguage.size() - 1); | 20   else | 
| 16     if (res == 0) | 21   { | 
| 17     { | 22     lang += language; | 
| 18       DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_SYSINFO, PLUGIN_ERROR_SYSIN
    FO_BROWSER_LANGUAGE, "System::GetBrowserLang - Failed"); |  | 
| 19     } |  | 
| 20     else |  | 
| 21     { |  | 
| 22       lang += localeLanguage.data(); |  | 
| 23     } |  | 
| 24   } | 23   } | 
| 25   lang += L"-"; | 24   lang += L"-"; | 
|  | 25   res = GetLocaleInfoW(lcid, LOCALE_SISO3166CTRYNAME, country, 127); | 
|  | 26   if (res == 0) | 
| 26   { | 27   { | 
| 27     std::array<wchar_t, 9> localeCountry; | 28     DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_SYSINFO, PLUGIN_ERROR_SYSINFO
    _BROWSER_LANGUAGE, "System::GetBrowserLang - failed to retrieve country"); | 
| 28     localeCountry.fill(L'\0'); | 29   } | 
| 29     int res = GetLocaleInfoW(lcid, LOCALE_SISO3166CTRYNAME, localeCountry.data()
    , localeCountry.size() - 1); | 30   else | 
| 30     if (res == 0) | 31   { | 
| 31     { | 32     lang += country; | 
| 32       DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_SYSINFO, PLUGIN_ERROR_SYSIN
    FO_BROWSER_LANGUAGE, "System::GetBrowserLang - failed to retrieve country"); |  | 
| 33     } |  | 
| 34     else |  | 
| 35     { |  | 
| 36       lang += localeCountry.data(); |  | 
| 37     } |  | 
| 38   } | 33   } | 
| 39   return lang; | 34   return lang; | 
| 40 } | 35 } | 
| OLD | NEW | 
|---|