From 81f5a7b8fd3a482de064ee1d14ffcd58d1857032 Mon Sep 17 00:00:00 2001 From: Rohlem Date: Tue, 19 Aug 2025 20:19:02 +0200 Subject: [PATCH] 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 --- lib/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 index ff74c6f602..5e08ad6d0c 100644 --- 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 {