mirror of
https://github.com/ziglang/zig.git
synced 2025-12-24 07:03:11 +00:00
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
This commit is contained in:
parent
f54f061fb3
commit
6cdbf4223c
@ -836,7 +836,6 @@ pub fn peekDelimiterExclusive(r: *Reader, delimiter: u8) DelimiterError![]u8 {
|
|||||||
error.EndOfStream => {
|
error.EndOfStream => {
|
||||||
const remaining = r.buffer[r.seek..r.end];
|
const remaining = r.buffer[r.seek..r.end];
|
||||||
if (remaining.len == 0) return error.EndOfStream;
|
if (remaining.len == 0) return error.EndOfStream;
|
||||||
r.toss(remaining.len);
|
|
||||||
return remaining;
|
return remaining;
|
||||||
},
|
},
|
||||||
else => |e| return e,
|
else => |e| return e,
|
||||||
@ -1364,6 +1363,7 @@ test peekDelimiterExclusive {
|
|||||||
try testing.expectEqualStrings("ab", try r.peekDelimiterExclusive('\n'));
|
try testing.expectEqualStrings("ab", try r.peekDelimiterExclusive('\n'));
|
||||||
r.toss(3);
|
r.toss(3);
|
||||||
try testing.expectEqualStrings("c", try r.peekDelimiterExclusive('\n'));
|
try testing.expectEqualStrings("c", try r.peekDelimiterExclusive('\n'));
|
||||||
|
try testing.expectEqualStrings("c", try r.peekDelimiterExclusive('\n'));
|
||||||
}
|
}
|
||||||
|
|
||||||
test streamDelimiter {
|
test streamDelimiter {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user