Scan for non-decimal in n_digits2
This commit is contained in:
@@ -8,7 +8,6 @@
|
|||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <initializer_list>
|
#include <initializer_list>
|
||||||
#include <tuple>
|
#include <tuple>
|
||||||
#include <utility>
|
|
||||||
|
|
||||||
#ifdef __x86_64__
|
#ifdef __x86_64__
|
||||||
#include <immintrin.h>
|
#include <immintrin.h>
|
||||||
@@ -836,23 +835,17 @@ inline PRESERVE_NONE WeaselJsonStatus n_digits2(Parser3 *self) {
|
|||||||
self->pop();
|
self->pop();
|
||||||
MUSTTAIL return Parser3::keepGoing(self);
|
MUSTTAIL return Parser3::keepGoing(self);
|
||||||
}
|
}
|
||||||
switch (*self->buf) {
|
|
||||||
case '0':
|
// Advance self->buf to the first non-decimal character
|
||||||
case '1':
|
while (self->buf != self->bufEnd && '0' <= *self->buf && *self->buf <= '9') {
|
||||||
case '2':
|
|
||||||
case '3':
|
|
||||||
case '4':
|
|
||||||
case '5':
|
|
||||||
case '6':
|
|
||||||
case '7':
|
|
||||||
case '8':
|
|
||||||
case '9':
|
|
||||||
++self->buf;
|
++self->buf;
|
||||||
MUSTTAIL return Parser3::keepGoing(self);
|
}
|
||||||
default:
|
if (self->buf == self->bufEnd) {
|
||||||
|
self->flushNumber(false);
|
||||||
|
return WeaselJson_AGAIN;
|
||||||
|
}
|
||||||
self->pop();
|
self->pop();
|
||||||
MUSTTAIL return Parser3::keepGoing(self);
|
MUSTTAIL return Parser3::keepGoing(self);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_fraction(Parser3 *self) {
|
inline PRESERVE_NONE WeaselJsonStatus n_fraction(Parser3 *self) {
|
||||||
|
|||||||
Reference in New Issue
Block a user