diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2024-07-04 23:13:22 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-04 23:13:22 -0400 |
| commit | 0f8561d099e4d08be0a6e547dd88f21026504490 (patch) | |
| tree | 69bdcb7800608daed4a8908406623f3bab38f0e4 /lib/std/Build/Cache.zig | |
| parent | 790b8428a26457e7ed9ea20485b9d3085011b989 (diff) | |
| parent | 74346b0f79ca4bf67d61008030c7cc3565bff3f9 (diff) | |
| download | zig-0f8561d099e4d08be0a6e547dd88f21026504490.tar.gz zig-0f8561d099e4d08be0a6e547dd88f21026504490.zip | |
Merge pull request #20487 from ziglang/incremental-serialization
Zcu: extract serializable state from File
Diffstat (limited to 'lib/std/Build/Cache.zig')
| -rw-r--r-- | lib/std/Build/Cache.zig | 42 |
1 files changed, 14 insertions, 28 deletions
diff --git a/lib/std/Build/Cache.zig b/lib/std/Build/Cache.zig index 2977801cb5..6d43361ae4 100644 --- a/lib/std/Build/Cache.zig +++ b/lib/std/Build/Cache.zig @@ -250,14 +250,7 @@ pub const HashHelper = struct { pub fn final(hh: *HashHelper) HexDigest { var bin_digest: BinDigest = undefined; hh.hasher.final(&bin_digest); - - var out_digest: HexDigest = undefined; - _ = fmt.bufPrint( - &out_digest, - "{s}", - .{fmt.fmtSliceHexLower(&bin_digest)}, - ) catch unreachable; - return out_digest; + return binToHex(bin_digest); } pub fn oneShot(bytes: []const u8) [hex_digest_len]u8 { @@ -265,16 +258,20 @@ pub const HashHelper = struct { hasher.update(bytes); var bin_digest: BinDigest = undefined; hasher.final(&bin_digest); - var out_digest: [hex_digest_len]u8 = undefined; - _ = fmt.bufPrint( - &out_digest, - "{s}", - .{fmt.fmtSliceHexLower(&bin_digest)}, - ) catch unreachable; - return out_digest; + return binToHex(bin_digest); } }; +pub fn binToHex(bin_digest: BinDigest) HexDigest { + var out_digest: HexDigest = undefined; + _ = fmt.bufPrint( + &out_digest, + "{s}", + .{fmt.fmtSliceHexLower(&bin_digest)}, + ) catch unreachable; + return out_digest; +} + pub const Lock = struct { manifest_file: fs.File, @@ -426,11 +423,7 @@ pub const Manifest = struct { var bin_digest: BinDigest = undefined; self.hash.hasher.final(&bin_digest); - _ = fmt.bufPrint( - &self.hex_digest, - "{s}", - .{fmt.fmtSliceHexLower(&bin_digest)}, - ) catch unreachable; + self.hex_digest = binToHex(bin_digest); self.hash.hasher = hasher_init; self.hash.hasher.update(&bin_digest); @@ -899,14 +892,7 @@ pub const Manifest = struct { var bin_digest: BinDigest = undefined; self.hash.hasher.final(&bin_digest); - var out_digest: HexDigest = undefined; - _ = fmt.bufPrint( - &out_digest, - "{s}", - .{fmt.fmtSliceHexLower(&bin_digest)}, - ) catch unreachable; - - return out_digest; + return binToHex(bin_digest); } /// If `want_shared_lock` is true, this function automatically downgrades the |
