zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 81f5a7b8fd3a482de064ee1d14ffcd58d1857032 (tree)
parent 07e7cfa35b9c11c4ab9c3447a5d3085def3a6d18
Author: Rohlem <rohlemF@gmail.com>
Date:   Tue, 19 Aug 2025 20:19:02 +0200

never advance seek position in `std.Io.Reader.peekDelimiterExclusive` (#24899)

* extend std.Io.Reader.peekDelimiterExclusive test to repeat successful end-of-stream path (fails)

* fix std.Io.Reader.peekDelimiterExclusive to not advance seek position in successful end-of-stream path
Diffstat:
Mlib/std/Io/Reader.zig | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/std/Io/Reader.zig b/lib/std/Io/Reader.zig @@ -836,7 +836,6 @@ pub fn peekDelimiterExclusive(r: *Reader, delimiter: u8) DelimiterError![]u8 { error.EndOfStream => { const remaining = r.buffer[r.seek..r.end]; if (remaining.len == 0) return error.EndOfStream; - r.toss(remaining.len); return remaining; }, else => |e| return e, @@ -1364,6 +1363,7 @@ test peekDelimiterExclusive { try testing.expectEqualStrings("ab", try r.peekDelimiterExclusive('\n')); r.toss(3); try testing.expectEqualStrings("c", try r.peekDelimiterExclusive('\n')); + try testing.expectEqualStrings("c", try r.peekDelimiterExclusive('\n')); } test streamDelimiter {