aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Build/Cache.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2024-07-04 14:15:15 -0700
committerAndrew Kelley <andrew@ziglang.org>2024-07-04 17:12:45 -0700
commit7ed2fbd7559ceb69ab03a8985fd7e5b591e22ab7 (patch)
tree25b2025afaf7c384dc87d3dbbe335f62b2d9bdd1 /lib/std/Build/Cache.zig
parent29512f0edd9134ffe1f645ad69b5c4a3e1a7c7c3 (diff)
downloadzig-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.zig42
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