authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2023-06-10 20:03:58 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2023-06-10 20:03:58 -07:00
logcf09039ec6ddee49eb21bf2b29aa4f904d0a4d47
treea24b62ec8ed03a6e012657b1b63c0ddb193e47d4
parentb0111b41d725682629b7f899b90500ddad3818bf

update to zig master

https://github.com/ziglang/zig/pull/15602

1 files changed, 7 insertions(+), 31 deletions(-)

src/lib.zig+7-31
......@@ -120,32 +120,12 @@ pub const Member = struct {
120120};
121121
122122const Parser = struct {
123 alloc: std.mem.Allocator,
124 p: std.json.StreamingParser,
125 input: []const u8,
126 index: usize,
127 tok2: ?std.json.Token,
123 p: std.json.Scanner,
128124
129125 pub fn next(self: *Parser) !?std.json.Token {
130 if (self.tok2) |t2| {
131 defer self.tok2 = null;
132 return t2;
133 }
134 while (self.index < self.input.len) {
135 var tok: ?std.json.Token = null;
136 var tok2: ?std.json.Token = null;
137 const b = self.input[self.index];
138 try self.p.feed(b, &tok, &tok2);
139 self.index += 1;
140 if (tok) |_| {} else {
141 continue;
142 }
143 if (tok2) |t2| {
144 self.tok2 = t2;
145 }
146 return tok;
147 }
148 return null;
126 const tok = try self.p.next();
127 if (tok == .end_of_document) return null;
128 return tok;
149129 }
150130
151131 pub const Error =
......@@ -158,14 +138,10 @@ const Parser = struct {
158138};
159139
160140pub fn parse(alloc: std.mem.Allocator, input: []const u8) Parser.Error!Value {
161 const p = &Parser{
162 .alloc = alloc,
163 .p = std.json.StreamingParser.init(),
164 .input = input,
165 .index = 0,
166 .tok2 = null,
141 var p = Parser{
142 .p = std.json.Scanner.initCompleteInput(alloc, input),
167143 };
168 return try parse_value(p, null);
144 return try parse_value(&p, null);
169145}
170146
171147fn parse_value(p: *Parser, start: ?std.json.Token) Parser.Error!Value {