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){
|
static inline void builPipedPart(JSON::Value &p, char *argarr[], int &argnum, const JSON::Value &argset){
|
||||||
jsonForEachConst(argset, it){
|
jsonForEachConst(argset, it){
|
||||||
if (it->isMember("option") && p.isMember(it.key())){
|
if (it->isMember("option") && p.isMember(it.key())){
|
||||||
if (it->isMember("type")){
|
if (!it->isMember("type")){
|
||||||
if ((*it)["type"].asStringRef() == "str" && !p[it.key()].isString()){
|
if (JSON::Value(p[it.key()]).asBool()){
|
||||||
p[it.key()] = p[it.key()].asString();
|
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
||||||
}
|
}
|
||||||
if ((*it)["type"].asStringRef() == "uint" || (*it)["type"].asStringRef() == "int" ||
|
continue;
|
||||||
(*it)["type"].asStringRef() == "debug"){
|
}
|
||||||
p[it.key()] = JSON::Value(p[it.key()].asInt()).asString();
|
if ((*it)["type"].asStringRef() == "str" && !p[it.key()].isString()){
|
||||||
}
|
p[it.key()] = p[it.key()].asString();
|
||||||
if ((*it)["type"].asStringRef() == "inputlist" && p[it.key()].isArray()){
|
}
|
||||||
jsonForEach(p[it.key()], iVal){
|
if ((*it)["type"].asStringRef() == "uint" || (*it)["type"].asStringRef() == "int" ||
|
||||||
(*iVal) = iVal->asString();
|
(*it)["type"].asStringRef() == "debug"){
|
||||||
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
p[it.key()] = JSON::Value(p[it.key()].asInt()).asString();
|
||||||
argarr[argnum++] = (char *)((*iVal).c_str());
|
}
|
||||||
}
|
if ((*it)["type"].asStringRef() == "inputlist" && p[it.key()].isArray()){
|
||||||
continue;
|
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){
|
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());
|
||||||
}else{
|
}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());
|
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){
|
static inline void builPipedPart(JSON::Value &p, char *argarr[], int &argnum, const JSON::Value &argset){
|
||||||
jsonForEach(argset, it){
|
jsonForEachConst(argset, it){
|
||||||
if (it->isMember("option") && p.isMember(it.key())){
|
if (it->isMember("option") && p.isMember(it.key())){
|
||||||
if (it->isMember("type")){
|
if (!it->isMember("type")){
|
||||||
if ((*it)["type"].asStringRef() == "str" && !p[it.key()].isString()){
|
if (JSON::Value(p[it.key()]).asBool()){
|
||||||
p[it.key()] = p[it.key()].asString();
|
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
||||||
}
|
}
|
||||||
if ((*it)["type"].asStringRef() == "uint" || (*it)["type"].asStringRef() == "int" ||
|
continue;
|
||||||
(*it)["type"].asStringRef() == "debug"){
|
}
|
||||||
p[it.key()] = JSON::Value(p[it.key()].asInt()).asString();
|
if ((*it)["type"].asStringRef() == "str" && !p[it.key()].isString()){
|
||||||
}
|
p[it.key()] = p[it.key()].asString();
|
||||||
if ((*it)["type"].asStringRef() == "inputlist" && p[it.key()].isArray()){
|
}
|
||||||
jsonForEach(p[it.key()], iVal){
|
if ((*it)["type"].asStringRef() == "uint" || (*it)["type"].asStringRef() == "int" ||
|
||||||
(*iVal) = iVal->asString();
|
(*it)["type"].asStringRef() == "debug"){
|
||||||
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
p[it.key()] = JSON::Value(p[it.key()].asInt()).asString();
|
||||||
argarr[argnum++] = (char *)((*iVal).c_str());
|
}
|
||||||
}
|
if ((*it)["type"].asStringRef() == "inputlist" && p[it.key()].isArray()){
|
||||||
continue;
|
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){
|
if (p[it.key()].asStringRef().size() > 0){
|
||||||
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
argarr[argnum++] = (char *)((*it)["option"].c_str());
|
||||||
|
|
Loading…
Add table
Reference in a new issue