Fix JSON value options being passed commandline to HTTP-based outputs

This commit is contained in:
Thulinma 2023-03-07 15:41:27 +01:00
parent 3b3a00d7bd
commit a65550e5c1

View file

@ -393,13 +393,6 @@ namespace Mist{
} }
continue; continue;
} }
if ((*it)["type"].asStringRef() == "str" && !p[it.key()].isString()){
p[it.key()] = p[it.key()].asString();
}
if ((*it)["type"].asStringRef() == "uint" || (*it)["type"].asStringRef() == "int" ||
(*it)["type"].asStringRef() == "debug"){
p[it.key()] = JSON::Value(p[it.key()].asInt()).asString();
}
if ((*it)["type"].asStringRef() == "inputlist" && p[it.key()].isArray()){ if ((*it)["type"].asStringRef() == "inputlist" && p[it.key()].isArray()){
jsonForEach(p[it.key()], iVal){ jsonForEach(p[it.key()], iVal){
(*iVal) = iVal->asString(); (*iVal) = iVal->asString();
@ -408,6 +401,12 @@ namespace Mist{
} }
continue; continue;
} }
if ((*it)["type"].asStringRef() == "uint" || (*it)["type"].asStringRef() == "int" ||
(*it)["type"].asStringRef() == "debug"){
p[it.key()] = JSON::Value(p[it.key()].asInt()).asString();
}else{
p[it.key()] = p[it.key()].asString();
}
if (p[it.key()].asStringRef().size() > 0){ if (p[it.key()].asStringRef().size() > 0){
argarr[argnum++] = (char *)((*it)["option"].c_str()); argarr[argnum++] = (char *)((*it)["option"].c_str());
argarr[argnum++] = (char *)(p[it.key()].c_str()); argarr[argnum++] = (char *)(p[it.key()].c_str());