Scan for non-decimal in n_digits2

This commit is contained in:
2025-06-02 12:47:34 -04:00
parent 67634bb977
commit b5f41768a7

View File

@@ -8,7 +8,6 @@
#include <cstring>
#include <initializer_list>
#include <tuple>
#include <utility>
#ifdef __x86_64__
#include <immintrin.h>
@@ -836,24 +835,18 @@ inline PRESERVE_NONE WeaselJsonStatus n_digits2(Parser3 *self) {
self->pop();
MUSTTAIL return Parser3::keepGoing(self);
}
switch (*self->buf) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
// Advance self->buf to the first non-decimal character
while (self->buf != self->bufEnd && '0' <= *self->buf && *self->buf <= '9') {
++self->buf;
MUSTTAIL return Parser3::keepGoing(self);
default:
}
if (self->buf == self->bufEnd) {
self->flushNumber(false);
return WeaselJson_AGAIN;
}
self->pop();
MUSTTAIL return Parser3::keepGoing(self);
}
}
inline PRESERVE_NONE WeaselJsonStatus n_fraction(Parser3 *self) {
if (self->len() == 0) {