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:
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 {