diff --git a/json.zig b/json.zig index 3b139d6bb72169a4e42001edadd68f8a32179ae9..b57e44a7f4d2eed8c530ca3f8593ecf0b2a32435 100644 --- a/json.zig +++ b/json.zig @@ -190,6 +190,9 @@ fn parseNumber(alloc: std.mem.Allocator, p: *Parser) anyerror!?ValueIndex { if (characters.items.len == 0) { return null; } + if (characters.items.len == 1 and characters.items[0] == '-') { + return error.JsonExpectedTODO; + } if (try p.eatByte('.')) |c| { try characters.append(c); const l = characters.items.len; @@ -207,7 +210,6 @@ fn parseNumber(alloc: std.mem.Allocator, p: *Parser) anyerror!?ValueIndex { } if (characters.items.len == l) return error.JsonExpectedTODO; } - if (characters.items.len == 1 and characters.items[0] == '-') return error.JsonExpectedTODO; return try p.addNumber(alloc, characters.items); }