aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2023-01-26 14:48:29 +0100
committerm-holger <m-holger@kubitscheck.org>2023-02-04 14:53:22 +0100
commit6f94a3a89ab4dc7be0c053c53a94868b6c9a747c (patch)
tree6bbf3abc7b8c235f215afb23fae4fa9ea08840b9
parentfcc123a62a9fb1cf00288255be8d5c904e43402c (diff)
downloadqpdf-6f94a3a89ab4dc7be0c053c53a94868b6c9a747c.tar.zst
In JSONParser::handleToken move string decoding into switch statement
-rw-r--r--libqpdf/JSON.cc14
1 files changed, 5 insertions, 9 deletions
diff --git a/libqpdf/JSON.cc b/libqpdf/JSON.cc
index 218ea724..ef652a86 100644
--- a/libqpdf/JSON.cc
+++ b/libqpdf/JSON.cc
@@ -1135,16 +1135,7 @@ JSONParser::handleToken()
": material follows end of object: " + token);
}
- // Git string value
std::string s_value;
- if (lex_state == ls_string) {
- // Token includes the quotation marks
- if (token.length() < 2) {
- throw std::logic_error("JSON string length < 2");
- }
- s_value = decode_string(token, token_start);
- }
-
std::shared_ptr<JSON> item;
switch (lex_state) {
@@ -1185,6 +1176,11 @@ JSONParser::handleToken()
break;
case ls_string:
+ // Token includes the quotation marks
+ if (token.length() < 2) {
+ throw std::logic_error("JSON string length < 2");
+ }
+ s_value = decode_string(token, token_start);
item = std::make_shared<JSON>(JSON::makeString(s_value));
break;