Bring in a bunch of cmake settings from conflict-set

This commit is contained in:
2025-05-23 12:43:25 -04:00
parent 1217ded8a7
commit 4240894318
4 changed files with 79 additions and 13 deletions

View File

@@ -34,12 +34,12 @@ inline WeaselJsonCallbacks noopCallbacks() {
result.on_begin_object = +[](void *) {};
result.on_end_object = +[](void *) {};
result.on_begin_string = +[](void *) {};
result.on_string_data = +[](void *, const char *buf, int len) {};
result.on_string_data = +[](void *, const char *, int) {};
result.on_end_string = +[](void *) {};
result.on_begin_array = +[](void *) {};
result.on_end_array = +[](void *) {};
result.on_begin_number = +[](void *) {};
result.on_number_data = +[](void *, const char *buf, int len) {};
result.on_number_data = +[](void *, const char *, int) {};
result.on_end_number = +[](void *) {};
result.on_true_literal = +[](void *) {};
result.on_false_literal = +[](void *) {};

View File

@@ -550,7 +550,7 @@ inline PRESERVE_NONE WeaselJsonStatus n_string_following_escape(Parser3 *self) {
case 'n':
case 'r':
case 't':
*self->writeBuf++ = tables.unescape[*self->buf++];
*self->writeBuf++ = tables.unescape[uint8_t(*self->buf++)];
self->pop();
if (auto s = self->push({N_STRING2})) {
return s;

View File

@@ -153,7 +153,7 @@ void testStreaming(std::string const &json) {
{
auto copy = json;
auto *parser = WeaselJsonParser_create(1024, &c, &streaming);
for (int i = 0; i < copy.size(); ++i) {
for (size_t i = 0; i < copy.size(); ++i) {
REQUIRE(WeaselJsonParser_parse(parser, copy.data() + i, 1) ==
WeaselJson_AGAIN);
}
@@ -179,7 +179,7 @@ TEST_CASE("parser3") {
{
auto copy = json;
auto *parser = WeaselJsonParser_create(1024, &c, &state);
for (int i = 0; i < copy.size(); ++i) {
for (size_t i = 0; i < copy.size(); ++i) {
REQUIRE(WeaselJsonParser_parse(parser, copy.data() + i, 1) ==
WeaselJson_AGAIN);
}
@@ -189,7 +189,7 @@ TEST_CASE("parser3") {
{
std::string copy = "{\"x\": [], \"y\": {}}";
auto *parser = WeaselJsonParser_create(1024, &c, &state);
for (int i = 0; i < copy.size(); ++i) {
for (size_t i = 0; i < copy.size(); ++i) {
REQUIRE(WeaselJsonParser_parse(parser, copy.data() + i, 1) ==
WeaselJson_AGAIN);
}
@@ -201,7 +201,7 @@ TEST_CASE("parser3") {
auto c = noopCallbacks();
std::string copy = "{\"a\":\"a";
auto *parser = WeaselJsonParser_create(1024, &c, &state);
for (int i = 0; i < copy.size(); ++i) {
for (size_t i = 0; i < copy.size(); ++i) {
REQUIRE(WeaselJsonParser_parse(parser, copy.data() + i, 1) ==
WeaselJson_AGAIN);
}
@@ -212,7 +212,7 @@ TEST_CASE("parser3") {
auto c = noopCallbacks();
std::string copy = "[";
auto *parser = WeaselJsonParser_create(1024, &c, &state);
for (int i = 0; i < copy.size(); ++i) {
for (size_t i = 0; i < copy.size(); ++i) {
REQUIRE(WeaselJsonParser_parse(parser, copy.data() + i, 1) ==
WeaselJson_AGAIN);
}
@@ -236,7 +236,7 @@ void doTestUnescapingUtf8(std::string const &escaped,
};
auto *parser = WeaselJsonParser_create(1024, &c, &result);
auto copy = escaped;
for (int i = 0; i < copy.size(); i += stride) {
for (size_t i = 0; i < copy.size(); i += stride) {
CAPTURE(i);
REQUIRE(WeaselJsonParser_parse(parser, copy.data() + i,
std::min<int>(stride, copy.size() - i)) ==
@@ -282,11 +282,11 @@ TEST_CASE("bench3") {
bench.batch(json.size());
bench.unit("byte");
auto *parser = WeaselJsonParser_create(1024, &c, nullptr);
for (int stride = 1; stride <= json.size(); stride *= 2) {
for (size_t stride = 1; stride <= json.size(); stride *= 2) {
bench.run("parser3 (stride: " + std::to_string(stride) + ")", [&]() {
auto copy = json;
WeaselJsonParser_reset(parser);
for (int i = 0; i < copy.size(); i += stride) {
for (size_t i = 0; i < copy.size(); i += stride) {
if (WeaselJsonParser_parse(parser, copy.data() + i,
std::min<int>(copy.size() - i, stride)) !=
WeaselJson_AGAIN) {