From a3a40593670d16a534a94a81063ff54201c9a63b Mon Sep 17 00:00:00 2001 From: Christopher Dunn Date: Sat, 30 Sep 2017 00:46:15 -0500 Subject: [PATCH] Use non-deprecated removeMember() closes #683 --- src/lib_json/json_value.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib_json/json_value.cpp b/src/lib_json/json_value.cpp index 6432b75..d818208 100644 --- a/src/lib_json/json_value.cpp +++ b/src/lib_json/json_value.cpp @@ -1200,7 +1200,14 @@ Value Value::removeMember(const char* key) } Value Value::removeMember(const JSONCPP_STRING& key) { - return removeMember(key.c_str()); + JSON_ASSERT_MESSAGE(type_ == nullValue || type_ == objectValue, + "in Json::Value::removeMember(): requires objectValue"); + if (type_ == nullValue) + return nullSingleton(); + + Value removed; // null + removeMember(key.c_str(), key.c_str() + key.size(), &removed); + return removed; // still null if removeMember() did nothing } bool Value::removeIndex(ArrayIndex index, Value* removed) {