From: Maxim Mamontov Date: Tue, 3 Jun 2014 19:18:42 +0000 (+0300) Subject: Fixed some encodings. X-Git-Url: https://git.stg.codes/stg.git/commitdiff_plain/6fb862fed3cab6d35cf42291dca84f0ab34d90a7?hp=de7760b87ad8ca38954140a738d66a133f7021f0 Fixed some encodings. --- diff --git a/stglibs/srvconf.lib/parsers/chg_service.cpp b/stglibs/srvconf.lib/parsers/chg_service.cpp index eabe11df..7dac5ba9 100644 --- a/stglibs/srvconf.lib/parsers/chg_service.cpp +++ b/stglibs/srvconf.lib/parsers/chg_service.cpp @@ -29,12 +29,12 @@ using namespace STG; -std::string CHG_SERVICE::Serialize(const SERVICE_CONF_RES & conf, const std::string & encoding) +std::string CHG_SERVICE::Serialize(const SERVICE_CONF_RES & conf, const std::string & /*encoding*/) { std::ostringstream stream; appendResetable(stream, "name", conf.name); -appendResetable(stream, "comment", MaybeIconv(conf.comment, "koi8-ru", encoding)); +appendResetable(stream, "comment", MaybeEncode(conf.comment)); appendResetable(stream, "cost", conf.cost); appendResetable(stream, "payDay", conf.payDay); diff --git a/stglibs/srvconf.lib/parsers/chg_user.cpp b/stglibs/srvconf.lib/parsers/chg_user.cpp index 56b52d75..f0027968 100644 --- a/stglibs/srvconf.lib/parsers/chg_user.cpp +++ b/stglibs/srvconf.lib/parsers/chg_user.cpp @@ -92,16 +92,16 @@ if (!conf.nextTariff.empty()) else if (!conf.tariffName.empty()) stream << ""; -appendResetable(stream, "note", MaybeIconv(MaybeEncode(conf.note), "koi8-ru", encoding)); -appendResetable(stream, "name", MaybeIconv(MaybeEncode(conf.realName), "koi8-ru", encoding)); // TODO: name -> realName -appendResetable(stream, "address", MaybeIconv(MaybeEncode(conf.address), "koi8-ru", encoding)); -appendResetable(stream, "email", MaybeIconv(MaybeEncode(conf.email), "koi8-ru", encoding)); -appendResetable(stream, "phone", MaybeIconv(MaybeEncode(conf.phone), "koi8-ru", encoding)); -appendResetable(stream, "group", MaybeIconv(MaybeEncode(conf.group), "koi8-ru", encoding)); +appendResetable(stream, "note", MaybeEncode(MaybeIconv(conf.note, encoding, "koi8-ru"))); +appendResetable(stream, "name", MaybeEncode(MaybeIconv(conf.realName, encoding, "koi8-ru"))); // TODO: name -> realName +appendResetable(stream, "address", MaybeEncode(MaybeIconv(conf.address, encoding, "koi8-ru"))); +appendResetable(stream, "email", MaybeEncode(MaybeIconv(conf.email, encoding, "koi8-ru"))); +appendResetable(stream, "phone", MaybeEncode(MaybeIconv(conf.phone, encoding, "cp1251"))); +appendResetable(stream, "group", MaybeEncode(MaybeIconv(conf.group, encoding, "koi8-ru"))); appendResetable(stream, "corp", conf.corp); for (size_t i = 0; i < conf.userdata.size(); ++i) - appendResetable(stream, "userdata", i, MaybeIconv(MaybeEncode(conf.userdata[i]), "koi8-ru", encoding)); + appendResetable(stream, "userdata", i, MaybeEncode(MaybeIconv(conf.userdata[i], encoding, "koi8-ru"))); if (!conf.services.empty()) { @@ -114,9 +114,9 @@ if (!conf.services.empty()) // Stat if (!stat.cashAdd.empty()) - stream << ""; + stream << ""; else if (!stat.cashSet.empty()) - stream << ""; + stream << ""; appendResetable(stream, "freeMb", stat.freeMb); diff --git a/stglibs/srvconf.lib/parsers/get_service.cpp b/stglibs/srvconf.lib/parsers/get_service.cpp index d6b16b9b..6f98fc23 100644 --- a/stglibs/srvconf.lib/parsers/get_service.cpp +++ b/stglibs/srvconf.lib/parsers/get_service.cpp @@ -36,7 +36,7 @@ GET_SERVICE::PARSER::PARSER(CALLBACK f, void * d, const std::string & e) parsingAnswer(false) { AddParser(propertyParsers, "name", info.name); - AddParser(propertyParsers, "comment", info.comment, "koi8-ru", GetEncodedValue); + AddParser(propertyParsers, "comment", info.comment, GetEncodedValue); AddParser(propertyParsers, "cost", info.cost); AddParser(propertyParsers, "payDay", info.payDay); } diff --git a/stglibs/srvconf.lib/parsers/get_user.cpp b/stglibs/srvconf.lib/parsers/get_user.cpp index 8379f657..03327c4d 100644 --- a/stglibs/srvconf.lib/parsers/get_user.cpp +++ b/stglibs/srvconf.lib/parsers/get_user.cpp @@ -88,7 +88,7 @@ GET_USER::PARSER::PARSER(CALLBACK f, void * d, const std::string & e) AddParser(propertyParsers, "email", info.email, "koi8-ru", GetEncodedValue); AddParser(propertyParsers, "name", info.name, "koi8-ru", GetEncodedValue); AddParser(propertyParsers, "address", info.address, "koi8-ru", GetEncodedValue); - AddParser(propertyParsers, "phone", info.phone, "koi8-ru", GetEncodedValue); + AddParser(propertyParsers, "phone", info.phone, "cp1251", GetEncodedValue); AddParser(propertyParsers, "corp", info.corp); AddParser(propertyParsers, "traff", info.stat); AddParser(propertyParsers, "pingTime", info.pingTime); diff --git a/stglibs/srvconf.lib/parsers/property.cpp b/stglibs/srvconf.lib/parsers/property.cpp index 6e9fc72c..eb9c2dfb 100644 --- a/stglibs/srvconf.lib/parsers/property.cpp +++ b/stglibs/srvconf.lib/parsers/property.cpp @@ -46,10 +46,10 @@ if (value == 0 && ip != "0.0.0.0") return true; } -bool STG::TryParse(PROPERTY_PARSERS & parsers, const std::string & name, const char ** attr, const std::string & fromEncoding, const std::string & attrName) +bool STG::TryParse(PROPERTY_PARSERS & parsers, const std::string & name, const char ** attr, const std::string & toEncoding, const std::string & attrName) { PROPERTY_PARSERS::iterator it(parsers.find(name)); if (it != parsers.end()) - return it->second->Parse(attr, attrName, fromEncoding); + return it->second->Parse(attr, attrName, toEncoding); return true; // Assume that non-existing params are ok. } diff --git a/stglibs/srvconf.lib/parsers/property.h b/stglibs/srvconf.lib/parsers/property.h index df033c99..7aa98aeb 100644 --- a/stglibs/srvconf.lib/parsers/property.h +++ b/stglibs/srvconf.lib/parsers/property.h @@ -52,14 +52,14 @@ class PROPERTY_PARSER : public BASE_PROPERTY_PARSER template <> inline -bool PROPERTY_PARSER::Parse(const char ** attr, const std::string & attrName, const std::string & fromEncoding) +bool PROPERTY_PARSER::Parse(const char ** attr, const std::string & attrName, const std::string & toEncoding) { -if (!encoding.empty() && !fromEncoding.empty()) +if (!encoding.empty() && !toEncoding.empty()) { std::string tmp; - if (!func(attr, value, attrName)) + if (!func(attr, tmp, attrName)) return false; - value = IconvString(tmp, fromEncoding, encoding); + value = IconvString(tmp, encoding, toEncoding); return true; } else