From ed98b6d8080e99a84940a25011f3f60334648f7f Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sun, 23 Jun 2024 01:22:31 -0700 Subject: [PATCH] fix eatUntil return type --- intrusive_parser.zig | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/intrusive_parser.zig b/intrusive_parser.zig index 7d69a3acad8de491eee555c804398273622a7aeb..04eda508b85266325cf5d86a47bedae7787a5a0c 100644 --- a/intrusive_parser.zig +++ b/intrusive_parser.zig @@ -116,20 +116,18 @@ pub const Parser = struct { return amt; } - pub fn eatUntil(p: *Parser, test_c: u8) !?struct { usize, usize } { + pub fn eatUntil(p: *Parser, test_c: u8) !?[2]usize { const start = p.idx; - var len: usize = 0; while (true) { try p.peekAmt(1) orelse return null; const amt = std.mem.indexOfScalar(u8, p.slice(), test_c) orelse { const left = p.avail(); - len += left; p.idx += left; continue; }; - len += amt; p.idx += amt; - return .{ start, len }; + const end = p.idx; + return .{ start, end }; } } @@ -211,7 +209,7 @@ pub fn Mixin(comptime T: type) type { return pp.parser.trimByte(test_c); } - pub fn eatUntil(pp: *T, test_c: u8) !usize { + pub fn eatUntil(pp: *T, test_c: u8) !?[2]usize { return pp.parser.eatUntil(test_c); } }; -- 2.54.0