X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/20d884ddac6b8cacedb2701e282efe3ff9785cbf..24d957224650e26f7c2117ed5116d2412b0dbc60:/stglibs/srvconf.lib/parsers/get_admin.cpp diff --git a/stglibs/srvconf.lib/parsers/get_admin.cpp b/stglibs/srvconf.lib/parsers/get_admin.cpp index 809280b7..9f4ec5d4 100644 --- a/stglibs/srvconf.lib/parsers/get_admin.cpp +++ b/stglibs/srvconf.lib/parsers/get_admin.cpp @@ -39,15 +39,16 @@ bool GetValue(const char ** attr, PRIV & value, const std::string & attrNa uint32_t priv; if (!GetValue(attr, priv, attrName)) return false; -value = priv; +value = PRIV(priv); return true; } } // namespace STG -GET_ADMIN::PARSER::PARSER(CALLBACK f, void * d) +GET_ADMIN::PARSER::PARSER(CALLBACK f, void * d, const std::string & e) : callback(f), data(d), + encoding(e), depth(0), parsingAnswer(false) { @@ -104,9 +105,9 @@ if (strcasecmp(el, "admin") == 0) { parsingAnswer = true; for (const char ** pos = attr; *pos != NULL; pos = pos + 2) - if (!TryParse(propertyParsers, ToLower(*pos), pos, *pos)) + if (!TryParse(propertyParsers, ToLower(*pos), pos, encoding, *pos)) { - error = "Invalid parameter."; + error = std::string("Invalid parameter '") + *pos + "'."; break; } }