Browse Source

special threatment for null,true,false because they are non valid json

0.13
Jonas Schnelli 10 years ago
parent
commit
21c10de8c2
  1. 16
      src/rpcclient.cpp

16
src/rpcclient.cpp

@ -11,6 +11,8 @@
#include <set> #include <set>
#include <stdint.h> #include <stdint.h>
#include <boost/algorithm/string/case_conv.hpp> // for to_lower()
using namespace std; using namespace std;
using namespace json_spirit; using namespace json_spirit;
@ -134,9 +136,19 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector<std::stri
// parse string as JSON, insert bool/number/object/etc. value // parse string as JSON, insert bool/number/object/etc. value
else { else {
//according to rfc4627 null, true, false are not valid json strings
Value jVal; Value jVal;
if (!jVal.read(strVal)) if(strVal == "null")
throw runtime_error(string("Error parsing JSON:")+strVal); jVal.setNull();
else if(strVal == "true")
jVal.setBool(true);
else if(strVal == "false")
jVal.setBool(false);
else
{
if (!jVal.read(strVal))
throw runtime_error(string("Error parsing JSON:")+strVal);
}
params.push_back(jVal); params.push_back(jVal);
} }
} }

Loading…
Cancel
Save