commit 7ed2fbd7559ceb69ab03a8985fd7e5b591e22ab7 (tree)
parent 29512f0edd9134ffe1f645ad69b5c4a3e1a7c7c3
Author: Andrew Kelley <andrew@ziglang.org>
Date: Thu, 4 Jul 2024 14:15:15 -0700
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:
1 file changed, 14 insertions(+), 28 deletions(-)
diff --git 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