summaryrefslogtreecommitdiffstats
path: root/libqpdf/JSON.cc
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2023-01-28 15:32:01 +0100
committerJay Berkenbilt <jberkenbilt@users.noreply.github.com>2023-01-28 20:49:37 +0100
commit1787d85096c47bb3986b529af2a118793179a040 (patch)
treeec9637ea7f0109527bf6ca6d33c1c02e049be325 /libqpdf/JSON.cc
parentdce43d4f7f0f51f2006659171bca9585b52e79fe (diff)
downloadqpdf-1787d85096c47bb3986b529af2a118793179a040.tar.zst
Refactor JSON::addDictionaryMember
Diffstat (limited to 'libqpdf/JSON.cc')
-rw-r--r--libqpdf/JSON.cc12
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