From 28810f5e3d41597116773b2eb6686f3d8e272b36 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 26 Dec 2025 16:40:41 -0800 Subject: [PATCH] std.Io.File: add readStreaming I resisted adding this because it's generally better to create a File.Reader instead, but we do need a simple wrapper around the vtable function, and there are use cases for it such as std.Progress. --- lib/std/Io/File.zig | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/std/Io/File.zig b/lib/std/Io/File.zig index a972ce2fd3e5aadc8dcb7481e0abffe2da3eab81..ee30103af0bee7e04d048da8da6cf66f9aa0f9a8 100644 --- a/lib/std/Io/File.zig +++ b/lib/std/Io/File.zig @@ -499,6 +499,14 @@ pub fn setTimestampsNow(file: File, io: Io) SetTimestampsError!void { return io.vtable.fileSetTimestampsNow(io.userdata, file); } +/// Returns 0 on stream end or if `buffer` has no space available for data. +/// +/// See also: +/// * `reader` +pub fn readStreaming(file: File, io: Io, buffer: []const []u8) Reader.Error!usize { + return io.vtable.fileReadStreaming(io.userdata, file, buffer); +} + pub const ReadPositionalError = Reader.Error || error{Unseekable}; /// Returns 0 on stream end or if `buffer` has no space available for data. -- 2.54.0