diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2024-07-04 14:15:15 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2024-07-04 17:12:45 -0700 |
| commit | 7ed2fbd7559ceb69ab03a8985fd7e5b591e22ab7 (patch) | |
| tree | 25b2025afaf7c384dc87d3dbbe335f62b2d9bdd1 /lib/std/Build/Cache.zig | |
| parent | 29512f0edd9134ffe1f645ad69b5c4a3e1a7c7c3 (diff) | |
| download | zig-7ed2fbd7559ceb69ab03a8985fd7e5b591e22ab7.tar.gz zig-7ed2fbd7559ceb69ab03a8985fd7e5b591e22ab7.zip | |
std.Build.Cache: add binToHex function
reduces need for API users to rely on formatted printing, even though
that's how it is currently implemented.
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 |
