Appends to w contents by reading from the stream until delimiter is
found. Does not write the delimiter itself.
Does not discard the delimiter from the Reader.
Returns number of bytes streamed, which may be zero, or error.EndOfStream if the delimiter was not found.
Asserts buffer capacity of at least one. This function performs better with larger buffers.
See also:
streamDelimiterEndingstreamDelimiterLimitpub fn streamDelimiter(r: *Reader, w: *Writer, delimiter: u8) StreamError!usize
pub fn streamDelimiter(r: *Reader, w: *Writer, delimiter: u8) StreamError!usize {
const n = streamDelimiterLimit(r, w, delimiter, .unlimited) catch |err| switch (err) {
error.StreamTooLong => unreachable, // unlimited is passed
else => |e| return e,
};
if (r.seek == r.end) return error.EndOfStream;
return n;
}