Fixed boolean options in connector/protocol settings
This commit is contained in:
parent
200e1e4a1c
commit
28f0f15937
2 changed files with 38 additions and 39 deletions
|
@ -94,36 +94,31 @@ namespace Controller{
|
|||
static inline void builPipedPart(JSON::Value &p, char *argarr[], int &argnum, const JSON::Value &argset){
|
||||
jsonForEachConst(argset, it){
|
||||
if (it->isMember("option") && p.isMember(it.key())){
|
||||
if (it->isMember("type")){
|
||||
if ((*it)["type"].asStringRef() == "str" && !p[it.key()].isString()){
|
||||
p[it.key()] = p[it.key()].asString();
|
||||
if (!it->isMember("type")){
|
||||
if (JSON::Value(p[it.key()]).asBool()){
|
||||
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
||||
}
|
||||
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()){
|
||||
jsonForEach(p[it.key()], iVal){
|
||||
(*iVal) = iVal->asString();
|
||||
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
||||
argarr[argnum++] = (char *)((*iVal).c_str());
|
||||
}
|
||||
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()){
|
||||
jsonForEach(p[it.key()], iVal){
|
||||
(*iVal) = iVal->asString();
|
||||
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
||||
argarr[argnum++] = (char *)((*iVal).c_str());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (p[it.key()].asStringRef().size() > 0){
|
||||
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
||||
argarr[argnum++] = (char *)(p[it.key()].c_str());
|
||||
}else{
|
||||
if (it.key() == "debug"){
|
||||
if (Util::printDebugLevel != DEBUG){
|
||||
static std::string debugLvlStr;
|
||||
debugLvlStr = JSON::Value(Util::printDebugLevel).asString();
|
||||
argarr[argnum++] = (char *)((*it)["option"].asStringRef().c_str());
|
||||
argarr[argnum++] = (char *)debugLvlStr.c_str();
|
||||
}
|
||||
continue;
|
||||
}
|
||||
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -356,25 +356,29 @@ namespace Mist{
|
|||
}
|
||||
}
|
||||
|
||||
static inline void builPipedPart(JSON::Value &p, char *argarr[], int &argnum, JSON::Value &argset){
|
||||
jsonForEach(argset, it){
|
||||
static inline void builPipedPart(JSON::Value &p, char *argarr[], int &argnum, const JSON::Value &argset){
|
||||
jsonForEachConst(argset, it){
|
||||
if (it->isMember("option") && p.isMember(it.key())){
|
||||
if (it->isMember("type")){
|
||||
if ((*it)["type"].asStringRef() == "str" && !p[it.key()].isString()){
|
||||
p[it.key()] = p[it.key()].asString();
|
||||
if (!it->isMember("type")){
|
||||
if (JSON::Value(p[it.key()]).asBool()){
|
||||
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
||||
}
|
||||
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()){
|
||||
jsonForEach(p[it.key()], iVal){
|
||||
(*iVal) = iVal->asString();
|
||||
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
||||
argarr[argnum++] = (char *)((*iVal).c_str());
|
||||
}
|
||||
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()){
|
||||
jsonForEach(p[it.key()], iVal){
|
||||
(*iVal) = iVal->asString();
|
||||
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
||||
argarr[argnum++] = (char *)((*iVal).c_str());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (p[it.key()].asStringRef().size() > 0){
|
||||
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
||||
|
|
Loading…
Add table
Reference in a new issue