From e02bfc1854effe0bb55ea6d4320e2b1902eaeae3 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Tue, 22 Jul 2025 08:43:23 +0200 Subject: feat(json): Boolean parsing --- json.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'json.c') diff --git a/json.c b/json.c index 8a542f5..529dc3a 100644 --- a/json.c +++ b/json.c @@ -6,6 +6,7 @@ #include #include #include +#include #include "json.h" #include "string.h" @@ -190,6 +191,14 @@ parse_any_result parse_any(Arena *a, byte *src, uptr start_pos) { parse_object_result object_result = parse_object(a, src, result.pos); result.value->object = object_result.object; result.pos = object_result.pos; + } else if (memcmp(src + result.pos, "true", 4) == 0) { + result.value->boolean = new(a, int, 1); + *result.value->boolean = 1; + result.pos = start_pos + 4; + } else if (memcmp(src + result.pos, "false", 5) == 0) { + result.value->boolean = new(a, int, 1); + *result.value->boolean = 0; + result.pos = start_pos + 5; } return result; -- cgit v1.3