merged shared smallut

This commit is contained in:
Jean-Francois Dockes 2018-05-16 18:28:41 +02:00
parent 1c95349ac7
commit 66ebb47437

View File

@ -1177,44 +1177,35 @@ void catstrerror(string *reason, const char *what, int _errno)
}
static const char *vlang_to_code[] = {
"be", "cp1251",
"bg", "cp1251",
"cs", "iso-8859-2",
"el", "iso-8859-7",
"he", "iso-8859-8",
"hr", "iso-8859-2",
"hu", "iso-8859-2",
"ja", "eucjp",
"kk", "pt154",
"ko", "euckr",
"lt", "iso-8859-13",
"lv", "iso-8859-13",
"pl", "iso-8859-2",
"rs", "iso-8859-2",
"ro", "iso-8859-2",
"ru", "koi8-r",
"sk", "iso-8859-2",
"sl", "iso-8859-2",
"sr", "iso-8859-2",
"th", "iso-8859-11",
"tr", "iso-8859-9",
"uk", "koi8-u",
static std::unordered_map<string, string> lang_to_code {
{"be", "cp1251"},
{"bg", "cp1251"},
{"cs", "iso-8859-2"},
{"el", "iso-8859-7"},
{"he", "iso-8859-8"},
{"hr", "iso-8859-2"},
{"hu", "iso-8859-2"},
{"ja", "eucjp"},
{"kk", "pt154"},
{"ko", "euckr"},
{"lt", "iso-8859-13"},
{"lv", "iso-8859-13"},
{"pl", "iso-8859-2"},
{"rs", "iso-8859-2"},
{"ro", "iso-8859-2"},
{"ru", "koi8-r"},
{"sk", "iso-8859-2"},
{"sl", "iso-8859-2"},
{"sr", "iso-8859-2"},
{"th", "iso-8859-11"},
{"tr", "iso-8859-9"},
{"uk", "koi8-u"},
};
static const string cstr_cp1252("CP1252");
string langtocode(const string& lang)
{
static std::unordered_map<string, string> lang_to_code;
if (lang_to_code.empty()) {
for (unsigned int i = 0;
i < sizeof(vlang_to_code) / sizeof(char *); i += 2) {
lang_to_code[vlang_to_code[i]] = vlang_to_code[i + 1];
}
}
std::unordered_map<string, string>::const_iterator it =
lang_to_code.find(lang);
const auto it = lang_to_code.find(lang);
// Use cp1252 by default...
if (it == lang_to_code.end()) {