Function allocRemaining [src]

Transfers all bytes from the current position to the end of the stream, up to limit, returning them as a caller-owned allocated slice. If limit would be exceeded, error.StreamTooLong is returned instead. In such case, the next byte that would be read will be the first one to exceed limit, and all preceeding bytes have been discarded. See also: appendRemaining

Prototype

pub fn allocRemaining(r: *Reader, gpa: Allocator, limit: Limit) LimitedAllocError![]u8

Parameters

r: *Readergpa: Allocatorlimit: Limit

Possible Errors

OutOfMemory Error
ReadFailed ShortError

See the Reader implementation for detailed diagnostics.

StreamTooLong

Source

pub fn allocRemaining(r: *Reader, gpa: Allocator, limit: Limit) LimitedAllocError![]u8 { var buffer: ArrayList(u8) = .empty; defer buffer.deinit(gpa); try appendRemaining(r, gpa, &buffer, limit); return buffer.toOwnedSlice(gpa); }