From 4a9dfe0b4558379f9c113855e8433b036cf60415 Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Mon, 23 Jun 2025 13:06:12 -0400 Subject: [PATCH] Nest escape handling under N_STRING2 --- src/parser3.h | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) 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);