summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2023-06-12 14:29:58 +0200
committerm-holger <m-holger@kubitscheck.org>2023-06-17 15:38:20 +0200
commit8cb89529bd52ab40f5cf93024f6fbf6c0ef52f56 (patch)
tree53f38807ffb3a7dbdca3ff54a0391bbd60a9a40b
parent75e74679c54ed6e51217530277b6bf45aa2b2dcd (diff)
downloadqpdf-8cb89529bd52ab40f5cf93024f6fbf6c0ef52f56.tar.zst
Use early returns in JSONHandler::handle
-rw-r--r--libqpdf/JSONHandler.cc28
1 files changed, 13 insertions, 15 deletions
diff --git a/libqpdf/JSONHandler.cc b/libqpdf/JSONHandler.cc
index a3ff4555..4a69fd60 100644
--- a/libqpdf/JSONHandler.cc
+++ b/libqpdf/JSONHandler.cc
@@ -117,24 +117,24 @@ JSONHandler::handle(std::string const& path, JSON j)
m->h.any_handler(path, j);
return;
}
- bool handled = false;
+
bool bvalue = false;
std::string s_value;
if (m->h.null_handler && j.isNull()) {
m->h.null_handler(path);
- handled = true;
+ return;
}
if (m->h.string_handler && j.getString(s_value)) {
m->h.string_handler(path, s_value);
- handled = true;
+ return;
}
if (m->h.number_handler && j.getNumber(s_value)) {
m->h.number_handler(path, s_value);
- handled = true;
+ return;
}
if (m->h.bool_handler && j.getBool(bvalue)) {
m->h.bool_handler(path, bvalue);
- handled = true;
+ return;
}
if (m->h.dict_start_handler && j.isDictionary()) {
m->h.dict_start_handler(path, j);
@@ -156,7 +156,7 @@ JSONHandler::handle(std::string const& path, JSON j)
}
});
m->h.dict_end_handler(path);
- handled = true;
+ return;
}
if (m->h.array_start_handler && j.isArray()) {
m->h.array_start_handler(path, j);
@@ -166,15 +166,13 @@ JSONHandler::handle(std::string const& path, JSON j)
++i;
});
m->h.array_end_handler(path);
- handled = true;
+ return;
}
- if (!handled) {
- // It would be nice to include information about what type the object was and what types
- // were allowed, but we're relying on schema validation to make sure input is properly
- // structured before calling the handlers. It would be different if this code were trying to
- // be part of a general-purpose JSON package.
- QTC::TC("libtests", "JSONHandler unhandled value");
- usage("JSON handler: value at " + path + " is not of expected type");
- }
+ // It would be nice to include information about what type the object was and what types were
+ // allowed, but we're relying on schema validation to make sure input is properly structured
+ // before calling the handlers. It would be different if this code were trying to be part of a
+ // general-purpose JSON package.
+ QTC::TC("libtests", "JSONHandler unhandled value");
+ usage("JSON handler: value at " + path + " is not of expected type");
}