Commit 8cb89529bd52ab40f5cf93024f6fbf6c0ef52f56
1 parent
75e74679
Use early returns in JSONHandler::handle
Showing
1 changed file
with
13 additions
and
15 deletions
libqpdf/JSONHandler.cc
| ... | ... | @@ -117,24 +117,24 @@ JSONHandler::handle(std::string const& path, JSON j) |
| 117 | 117 | m->h.any_handler(path, j); |
| 118 | 118 | return; |
| 119 | 119 | } |
| 120 | - bool handled = false; | |
| 120 | + | |
| 121 | 121 | bool bvalue = false; |
| 122 | 122 | std::string s_value; |
| 123 | 123 | if (m->h.null_handler && j.isNull()) { |
| 124 | 124 | m->h.null_handler(path); |
| 125 | - handled = true; | |
| 125 | + return; | |
| 126 | 126 | } |
| 127 | 127 | if (m->h.string_handler && j.getString(s_value)) { |
| 128 | 128 | m->h.string_handler(path, s_value); |
| 129 | - handled = true; | |
| 129 | + return; | |
| 130 | 130 | } |
| 131 | 131 | if (m->h.number_handler && j.getNumber(s_value)) { |
| 132 | 132 | m->h.number_handler(path, s_value); |
| 133 | - handled = true; | |
| 133 | + return; | |
| 134 | 134 | } |
| 135 | 135 | if (m->h.bool_handler && j.getBool(bvalue)) { |
| 136 | 136 | m->h.bool_handler(path, bvalue); |
| 137 | - handled = true; | |
| 137 | + return; | |
| 138 | 138 | } |
| 139 | 139 | if (m->h.dict_start_handler && j.isDictionary()) { |
| 140 | 140 | m->h.dict_start_handler(path, j); |
| ... | ... | @@ -156,7 +156,7 @@ JSONHandler::handle(std::string const& path, JSON j) |
| 156 | 156 | } |
| 157 | 157 | }); |
| 158 | 158 | m->h.dict_end_handler(path); |
| 159 | - handled = true; | |
| 159 | + return; | |
| 160 | 160 | } |
| 161 | 161 | if (m->h.array_start_handler && j.isArray()) { |
| 162 | 162 | m->h.array_start_handler(path, j); |
| ... | ... | @@ -166,15 +166,13 @@ JSONHandler::handle(std::string const& path, JSON j) |
| 166 | 166 | ++i; |
| 167 | 167 | }); |
| 168 | 168 | m->h.array_end_handler(path); |
| 169 | - handled = true; | |
| 169 | + return; | |
| 170 | 170 | } |
| 171 | 171 | |
| 172 | - if (!handled) { | |
| 173 | - // It would be nice to include information about what type the object was and what types | |
| 174 | - // were allowed, but we're relying on schema validation to make sure input is properly | |
| 175 | - // structured before calling the handlers. It would be different if this code were trying to | |
| 176 | - // be part of a general-purpose JSON package. | |
| 177 | - QTC::TC("libtests", "JSONHandler unhandled value"); | |
| 178 | - usage("JSON handler: value at " + path + " is not of expected type"); | |
| 179 | - } | |
| 172 | + // It would be nice to include information about what type the object was and what types were | |
| 173 | + // allowed, but we're relying on schema validation to make sure input is properly structured | |
| 174 | + // before calling the handlers. It would be different if this code were trying to be part of a | |
| 175 | + // general-purpose JSON package. | |
| 176 | + QTC::TC("libtests", "JSONHandler unhandled value"); | |
| 177 | + usage("JSON handler: value at " + path + " is not of expected type"); | |
| 180 | 178 | } | ... | ... |