aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Io/File.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/Io/File.zig')
-rw-r--r--lib/std/Io/File.zig8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/std/Io/File.zig b/lib/std/Io/File.zig
index 8e71f648e2..a9b4775772 100644
--- a/lib/std/Io/File.zig
+++ b/lib/std/Io/File.zig
@@ -527,6 +527,14 @@ pub fn writerStreaming(file: File, io: Io, buffer: []u8) Writer {
return .initStreaming(file, io, buffer);
}
+/// Equivalent to creating a streaming writer, writing `bytes`, and then flushing.
+pub fn writeStreamingAll(file: File, io: Io, bytes: []const u8) Writer.Error!void {
+ var index: usize = 0;
+ while (index < bytes.len) {
+ index += try io.vtable.fileWriteStreaming(io.userdata, file, &.{}, &.{bytes[index..]}, 1);
+ }
+}
+
pub const LockError = error{
SystemResources,
FileLocksUnsupported,