From 1787d85096c47bb3986b529af2a118793179a040 Mon Sep 17 00:00:00 2001 From: m-holger Date: Sat, 28 Jan 2023 14:32:01 +0000 Subject: [PATCH] Refactor JSON::addDictionaryMember --- libqpdf/JSON.cc | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/libqpdf/JSON.cc b/libqpdf/JSON.cc index fa523dc1..77418ddb 100644 --- a/libqpdf/JSON.cc +++ b/libqpdf/JSON.cc @@ -266,17 +266,13 @@ JSON::makeDictionary() JSON JSON::addDictionaryMember(std::string const& key, JSON const& val) { - JSON_dictionary* obj = dynamic_cast(this->m->value.get()); - if (nullptr == obj) { + if (auto* obj = dynamic_cast(this->m->value.get())) { + return obj->members[encode_string(key)] = + val.m->value ? val.m->value : std::make_shared(); + } else { throw std::runtime_error( "JSON::addDictionaryMember called on non-dictionary"); } - if (val.m->value.get()) { - obj->members[encode_string(key)] = val.m->value; - } else { - obj->members[encode_string(key)] = std::make_shared(); - } - return obj->members[encode_string(key)]; } bool