From fc310ee7bcbe7b96cc46f993277cc3933e4a0fda Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 1 Jul 2025 09:27:14 -0700 Subject: [PATCH] std.io.Reader: fix appendRemaining --- lib/std/Build/Cache.zig | 6 +++++- lib/std/io/Reader.zig | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/std/Build/Cache.zig b/lib/std/Build/Cache.zig index dfc1b14742..82a7b80d41 100644 --- a/lib/std/Build/Cache.zig +++ b/lib/std/Build/Cache.zig @@ -690,7 +690,11 @@ pub const Manifest = struct { const size = iter.next() orelse return error.InvalidFormat; const inode = iter.next() orelse return error.InvalidFormat; const mtime_nsec_str = iter.next() orelse return error.InvalidFormat; - const digest_str = iter.next() orelse return error.InvalidFormat; + const digest_str = iter.next() orelse { + std.debug.print("contents:\n{s}\n", .{file_contents}); + @breakpoint(); + return error.InvalidFormat; + }; const prefix_str = iter.next() orelse return error.InvalidFormat; const file_path = iter.rest(); diff --git a/lib/std/io/Reader.zig b/lib/std/io/Reader.zig index 47f820bdec..a9e790a437 100644 --- a/lib/std/io/Reader.zig +++ b/lib/std/io/Reader.zig @@ -266,10 +266,9 @@ pub fn appendRemaining( error.EndOfStream => break, error.ReadFailed => return error.ReadFailed, }; - if (n >= dest.len) { + if (n > dest.len) { r.end = n - dest.len; list.items.len += dest.len; - if (n == dest.len) return; return error.StreamTooLong; } list.items.len += n;