diff options
author | m-holger <m-holger@kubitscheck.org> | 2023-01-28 15:32:01 +0100 |
---|---|---|
committer | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2023-01-28 20:49:37 +0100 |
commit | 1787d85096c47bb3986b529af2a118793179a040 (patch) | |
tree | ec9637ea7f0109527bf6ca6d33c1c02e049be325 /libqpdf/JSON.cc | |
parent | dce43d4f7f0f51f2006659171bca9585b52e79fe (diff) | |
download | qpdf-1787d85096c47bb3986b529af2a118793179a040.tar.zst |
Refactor JSON::addDictionaryMember
Diffstat (limited to 'libqpdf/JSON.cc')
-rw-r--r-- | libqpdf/JSON.cc | 12 |
1 files 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<JSON_dictionary*>(this->m->value.get()); - if (nullptr == obj) { + if (auto* obj = dynamic_cast<JSON_dictionary*>(this->m->value.get())) { + return obj->members[encode_string(key)] = + val.m->value ? val.m->value : std::make_shared<JSON_null>(); + } 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<JSON_null>(); - } - return obj->members[encode_string(key)]; } bool |