aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/Io.zig4
-rw-r--r--lib/std/Io/DeprecatedReader.zig4
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/std/Io.zig b/lib/std/Io.zig
index 3f98ec3043..a93c31954b 100644
--- a/lib/std/Io.zig
+++ b/lib/std/Io.zig
@@ -334,10 +334,12 @@ pub fn GenericReader(
fn stream(r: *Reader, w: *Writer, limit: Limit) Reader.StreamError!usize {
const a: *@This() = @alignCast(@fieldParentPtr("new_interface", r));
const buf = limit.slice(try w.writableSliceGreedy(1));
- return a.derp_reader.read(buf) catch |err| {
+ const n = a.derp_reader.read(buf) catch |err| {
a.err = err;
return error.ReadFailed;
};
+ w.advance(n);
+ return n;
}
};
};
diff --git a/lib/std/Io/DeprecatedReader.zig b/lib/std/Io/DeprecatedReader.zig
index f6cb9f61d5..4d51b05148 100644
--- a/lib/std/Io/DeprecatedReader.zig
+++ b/lib/std/Io/DeprecatedReader.zig
@@ -393,10 +393,12 @@ pub const Adapter = struct {
fn stream(r: *std.io.Reader, w: *std.io.Writer, limit: std.io.Limit) std.io.Reader.StreamError!usize {
const a: *@This() = @alignCast(@fieldParentPtr("new_interface", r));
const buf = limit.slice(try w.writableSliceGreedy(1));
- return a.derp_reader.read(buf) catch |err| {
+ const n = a.derp_reader.read(buf) catch |err| {
a.err = err;
return error.ReadFailed;
};
+ w.advance(n);
+ return n;
}
};