Commit 81f5a7b8fd

Rohlem <rohlemF@gmail.com>
2025-08-19 20:19:02
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
1 parent 07e7cfa
Changed files (1)
lib
std
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 {