diff --git a/src/parser3.h b/src/parser3.h index a84a457..c8636cd 100644 --- a/src/parser3.h +++ b/src/parser3.h @@ -1102,7 +1102,6 @@ inline PRESERVE_NONE WeaselJsonStatus n_string2(Parser3 *self, char *buf, MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd); case '\\': ++buf; - self->pop(); if (auto s = self->push({N_STRING_FOLLOWING_ESCAPE})) { return s; } @@ -1127,15 +1126,12 @@ inline PRESERVE_NONE WeaselJsonStatus n_string_following_escape(Parser3 *self, case 't': *self->writeBuf++ = tables.unescape[uint8_t(*buf++)]; self->pop(); - if (auto s = self->push({N_STRING2})) { - return s; - } MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd); case 'u': ++buf; self->utf8Codepoint = 0; self->pop(); - if (auto s = self->push({T_HEX, T_HEX, T_HEX, T_HEX2, N_STRING2})) { + if (auto s = self->push({T_HEX, T_HEX, T_HEX, T_HEX2})) { return s; } MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);