diff --git a/src/parser3.h b/src/parser3.h index 37f9a64..30c1a99 100644 --- a/src/parser3.h +++ b/src/parser3.h @@ -856,9 +856,11 @@ inline Status n_whitespace(Parser3 *self) { self->pop(); MUSTTAIL return Parser3::keepGoing(self); } - if (tables.whitespace[uint8_t(*self->buf)]) { + while (tables.whitespace[uint8_t(*self->buf)]) { ++self->buf; - MUSTTAIL return Parser3::keepGoing(self); + if (self->buf == self->bufEnd) { + return S_AGAIN; + } } self->pop(); MUSTTAIL return Parser3::keepGoing(self);