]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/parsers/get_admin.cpp
Merge branch 'stg-2.409-radius'
[stg.git] / stglibs / srvconf.lib / parsers / get_admin.cpp
index 8f775d0638c903b2a4b7687e1c67b2e96f5d8785..9f4ec5d4c4be68b43c114fff0d8bdb60bd8cf98c 100644 (file)
@@ -39,15 +39,16 @@ bool GetValue<PRIV>(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,7 +105,7 @@ 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 = std::string("Invalid parameter '") + *pos + "'.";
                     break;