class RGWSI_Zone;
template <class T>
-static int parse_decode_json(CephContext *cct, T& t, bufferlist& bl)
+static int parse_decode_json(T& t, bufferlist& bl)
{
JSONParser p;
- int ret = p.parse(bl.c_str(), bl.length());
- if (ret < 0) {
- return ret;
+ if (!p.parse(bl.c_str(), bl.length())) {
+ return -EINVAL;
}
try {
return ret;
}
- ret = parse_decode_json(cct, t, bl);
+ ret = parse_decode_json(t, bl);
if (ret < 0) {
return ret;
}
if (ret < 0) {
return ret;
}
- ret = parse_decode_json(cct, *dest, bl);
+ ret = parse_decode_json(*dest, bl);
if (ret < 0) {
return ret;
}
int ret = req.get_status();
if (ret < 0) {
if (err_result) {
- parse_decode_json(cct, *err_result, bl);
+ parse_decode_json(*err_result, bl);
}
return ret;
}
return 0;
}
- ret = parse_decode_json(cct, *dest, bl);
+ ret = parse_decode_json(*dest, bl);
if (ret < 0) {
return ret;
}
int ret = req.wait();
if (ret < 0) {
if (err_result) {
- parse_decode_json(cct, *err_result, bl);
+ parse_decode_json(*err_result, bl);
}
return ret;
}