Start working on c api

This commit is contained in:
2025-05-22 10:55:15 -04:00
parent 96ef50d52f
commit 6e602d8fd5
6 changed files with 150 additions and 121 deletions

View File

@@ -197,19 +197,19 @@ inline std::optional<JsonValue> toValue(std::string copy, int stride) {
auto c = readValueCallbacks();
parser3::Parser3 parser(&c, &state);
if (stride == 0) {
if (parser.parse(copy.data(), copy.size()) != parser3::S_AGAIN) {
if (parser.parse(copy.data(), copy.size()) != WeaselJson_AGAIN) {
return std::nullopt;
}
} else {
for (int i = 0; i < copy.size(); i += stride) {
if (parser.parse(copy.data() + i,
std::min<int>(stride, copy.size() - i)) !=
parser3::S_AGAIN) {
WeaselJson_AGAIN) {
return std::nullopt;
}
}
}
if (parser.parse(nullptr, 0) != parser3::S_OK) {
if (parser.parse(nullptr, 0) != WeaselJson_OK) {
return std::nullopt;
}
return std::move(state.result);