From 84fbe4db83738537df46119a31a806874f098240 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Fri, 31 May 2024 03:22:11 -0700 Subject: [PATCH] fix leading zero handling (count was actually inaccurate here because of zig#18027 --- json.zig | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/json.zig b/json.zig index d29b13e13009501f1c1f455b55168bc1ada78d17..92959e371aaed33998739bece6745137eccbc124 100644 --- a/json.zig +++ b/json.zig @@ -172,13 +172,10 @@ fn parseNumber(alloc: std.mem.Allocator, p: *Parser) anyerror!?ValueIndex { if (try p.eatByte('-')) |c| { try characters.append(c); - - if (try p.eatByte('0')) |_| { - if (p.slice()[0] != '.') return try p.addNumber(alloc, "-0"); - } } - if (try p.eatByte('0')) |_| { - if (p.slice()[0] != '.') return try p.addNumber(alloc, "0"); + if (try p.eatByte('0')) |c| { + try characters.append(c); + if (try p.eatRange('1', '9')) |_| return error.JsonExpectedTODO; } while (try p.eatRange('0', '9')) |d| { try characters.append(d); -- 2.54.0