From 56f6ab6566142a6c05f0bdee96fcf7d5341e51cd Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Thu, 22 May 2025 11:42:05 -0400 Subject: [PATCH] Fuse whitespace into string --- src/parser3.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/parser3.h b/src/parser3.h index e1cbe5a..e08390f 100644 --- a/src/parser3.h +++ b/src/parser3.h @@ -278,8 +278,7 @@ inline WeaselJsonStatus n_object3(Parser3 *self) { case ',': ++self->buf; self->pop(); - if (auto s = - self->push({N_WHITESPACE, N_STRING, T_COLON, N_VALUE, N_OBJECT3})) { + if (auto s = self->push({N_STRING, T_COLON, N_VALUE, N_OBJECT3})) { return s; } MUSTTAIL return Parser3::keepGoing(self); @@ -351,6 +350,13 @@ inline WeaselJsonStatus n_array3(Parser3 *self) { } inline WeaselJsonStatus n_string(Parser3 *self) { + assert(self->len() != 0); + while (tables.whitespace[uint8_t(*self->buf)]) { + ++self->buf; + if (self->buf == self->bufEnd) { + return WeaselJson_AGAIN; + } + } if (*self->buf != '"') { return WeaselJson_REJECT; }