Skip over n_string when you know it matches
This commit is contained in:
@@ -174,8 +174,11 @@ inline WeaselJsonStatus n_value(Parser3 *self) {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '"':
|
case '"':
|
||||||
|
self->callbacks->on_begin_string(self->data);
|
||||||
|
++self->buf;
|
||||||
|
self->dataBegin = self->writeBuf = self->buf;
|
||||||
self->pop();
|
self->pop();
|
||||||
if (auto s = self->push({N_STRING})) {
|
if (auto s = self->push({N_STRING2})) {
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -251,8 +254,11 @@ inline WeaselJsonStatus n_object2(Parser3 *self) {
|
|||||||
self->callbacks->on_end_object(self->data);
|
self->callbacks->on_end_object(self->data);
|
||||||
MUSTTAIL return Parser3::keepGoing(self);
|
MUSTTAIL return Parser3::keepGoing(self);
|
||||||
case '"':
|
case '"':
|
||||||
|
self->callbacks->on_begin_string(self->data);
|
||||||
|
++self->buf;
|
||||||
|
self->dataBegin = self->writeBuf = self->buf;
|
||||||
self->pop();
|
self->pop();
|
||||||
if (auto s = self->push({N_STRING, T_COLON, N_VALUE, N_OBJECT3})) {
|
if (auto s = self->push({N_STRING2, T_COLON, N_VALUE, N_OBJECT3})) {
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
MUSTTAIL return Parser3::keepGoing(self);
|
MUSTTAIL return Parser3::keepGoing(self);
|
||||||
|
|||||||
Reference in New Issue
Block a user