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 {...@@ -120,32 +120,12 @@ pub const Member = struct {
120};120};
121121
122const Parser = struct {122const Parser = struct {
123 alloc: std.mem.Allocator,123 p: std.json.Scanner,
124 p: std.json.StreamingParser,
125 input: []const u8,
126 index: usize,
127 tok2: ?std.json.Token,
128124
129 pub fn next(self: *Parser) !?std.json.Token {125 pub fn next(self: *Parser) !?std.json.Token {
130 if (self.tok2) |t2| {126 const tok = try self.p.next();
131 defer self.tok2 = null;127 if (tok == .end_of_document) return null;
132 return t2;128 return tok;
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;
149 }129 }
150130
151 pub const Error =131 pub const Error =
...@@ -158,14 +138,10 @@ const Parser = struct {...@@ -158,14 +138,10 @@ const Parser = struct {
158};138};
159139
160pub fn parse(alloc: std.mem.Allocator, input: []const u8) Parser.Error!Value {140pub fn parse(alloc: std.mem.Allocator, input: []const u8) Parser.Error!Value {
161 const p = &Parser{141 var p = Parser{
162 .alloc = alloc,142 .p = std.json.Scanner.initCompleteInput(alloc, input),
163 .p = std.json.StreamingParser.init(),
164 .input = input,
165 .index = 0,
166 .tok2 = null,
167 };143 };
168 return try parse_value(p, null);144 return try parse_value(&p, null);
169}145}
170146
171fn parse_value(p: *Parser, start: ?std.json.Token) Parser.Error!Value {147fn parse_value(p: *Parser, start: ?std.json.Token) Parser.Error!Value {