zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit d943ce5dc79d2438ac82bb8e32baa33d3105306d (tree)
parent 12a9e0f4150f0d30c851727f4dc2354fa6c90682
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Wed, 21 Feb 2024 00:14:48 -0700

std.io.Reader: add discard function

Reads the stream until the end, ignoring all the data.
Returns the number of bytes discarded.

Diffstat:
Mlib/std/io/Reader.zig | 12++++++++++++
1 file changed, 12 insertions(+), 0 deletions(-)

diff --git a/lib/std/io/Reader.zig b/lib/std/io/Reader.zig @@ -360,6 +360,18 @@ pub fn readEnum(self: Self, comptime Enum: type, endian: std.builtin.Endian) any return E.InvalidValue; } +/// Reads the stream until the end, ignoring all the data. +/// Returns the number of bytes discarded. +pub fn discard(self: Self) anyerror!u64 { + var trash: [4096]u8 = undefined; + var index: u64 = 0; + while (true) { + const n = try self.read(&trash); + if (n == 0) return index; + index += n; + } +} + const std = @import("../std.zig"); const Self = @This(); const math = std.math;