authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-07-01 09:27:14-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-07-07 22:43:52-07:00
logfc310ee7bcbe7b96cc46f993277cc3933e4a0fda
treebf7521f7c77e092f56e477b979055c3cef7971cd
parent4bca5faca60df971712e538758315a0e0afe89a0

std.io.Reader: fix appendRemaining


2 files changed, 6 insertions(+), 3 deletions(-)

lib/std/Build/Cache.zig+5-1
...@@ -690,7 +690,11 @@ pub const Manifest = struct {...@@ -690,7 +690,11 @@ pub const Manifest = struct {
690 const size = iter.next() orelse return error.InvalidFormat;690 const size = iter.next() orelse return error.InvalidFormat;
691 const inode = iter.next() orelse return error.InvalidFormat;691 const inode = iter.next() orelse return error.InvalidFormat;
692 const mtime_nsec_str = iter.next() orelse return error.InvalidFormat;692 const mtime_nsec_str = iter.next() orelse return error.InvalidFormat;
693 const digest_str = iter.next() orelse return error.InvalidFormat;693 const digest_str = iter.next() orelse {
694 std.debug.print("contents:\n{s}\n", .{file_contents});
695 @breakpoint();
696 return error.InvalidFormat;
697 };
694 const prefix_str = iter.next() orelse return error.InvalidFormat;698 const prefix_str = iter.next() orelse return error.InvalidFormat;
695 const file_path = iter.rest();699 const file_path = iter.rest();
696700
lib/std/io/Reader.zig+1-2
...@@ -266,10 +266,9 @@ pub fn appendRemaining(...@@ -266,10 +266,9 @@ pub fn appendRemaining(
266 error.EndOfStream => break,266 error.EndOfStream => break,
267 error.ReadFailed => return error.ReadFailed,267 error.ReadFailed => return error.ReadFailed,
268 };268 };
269 if (n >= dest.len) {269 if (n > dest.len) {
270 r.end = n - dest.len;270 r.end = n - dest.len;
271 list.items.len += dest.len;271 list.items.len += dest.len;
272 if (n == dest.len) return;
273 return error.StreamTooLong;272 return error.StreamTooLong;
274 }273 }
275 list.items.len += n;274 list.items.len += n;