Function discardDelimiterInclusive [src]
Reads from the stream until specified byte is found, discarding all data,
including the delimiter.
Returns number of bytes discarded, or error.EndOfStream if the delimiter
is not found.
See also:
discardDelimiterExclusive
discardDelimiterLimit
Prototype
pub fn discardDelimiterInclusive(r: *Reader, delimiter: u8) Error!usize
Parameters
r: *Reader
delimiter: u8
Possible Errors
See the Reader
implementation for detailed diagnostics.
Example
test discardDelimiterInclusive {
var r: Reader = .fixed("foob\nar");
try testing.expectEqual(5, try r.discardDelimiterInclusive('\n'));
try testing.expectError(error.EndOfStream, r.discardDelimiterInclusive('\n'));
}
Source
pub fn discardDelimiterInclusive(r: *Reader, delimiter: u8) Error!usize {
const n = discardDelimiterLimit(r, delimiter, .unlimited) catch |err| switch (err) {
error.StreamTooLong => unreachable, // unlimited is passed
else => |e| return e,
};
if (r.seek == r.end) return error.EndOfStream;
assert(r.buffer[r.seek] == delimiter);
toss(r, 1);
return n + 1;
}