authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-07-04 14:15:15-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-07-04 17:12:45-07:00
log7ed2fbd7559ceb69ab03a8985fd7e5b591e22ab7
tree25b2025afaf7c384dc87d3dbbe335f62b2d9bdd1
parent29512f0edd9134ffe1f645ad69b5c4a3e1a7c7c3

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.

1 files changed, 14 insertions(+), 28 deletions(-)

lib/std/Build/Cache.zig+14-28
......@@ -250,14 +250,7 @@ pub const HashHelper = struct {
250250 pub fn final(hh: *HashHelper) HexDigest {
251251 var bin_digest: BinDigest = undefined;
252252 hh.hasher.final(&bin_digest);
253
254 var out_digest: HexDigest = undefined;
255 _ = fmt.bufPrint(
256 &out_digest,
257 "{s}",
258 .{fmt.fmtSliceHexLower(&bin_digest)},
259 ) catch unreachable;
260 return out_digest;
253 return binToHex(bin_digest);
261254 }
262255
263256 pub fn oneShot(bytes: []const u8) [hex_digest_len]u8 {
......@@ -265,16 +258,20 @@ pub const HashHelper = struct {
265258 hasher.update(bytes);
266259 var bin_digest: BinDigest = undefined;
267260 hasher.final(&bin_digest);
268 var out_digest: [hex_digest_len]u8 = undefined;
269 _ = fmt.bufPrint(
270 &out_digest,
271 "{s}",
272 .{fmt.fmtSliceHexLower(&bin_digest)},
273 ) catch unreachable;
274 return out_digest;
261 return binToHex(bin_digest);
275262 }
276263};
277264
265pub fn binToHex(bin_digest: BinDigest) HexDigest {
266 var out_digest: HexDigest = undefined;
267 _ = fmt.bufPrint(
268 &out_digest,
269 "{s}",
270 .{fmt.fmtSliceHexLower(&bin_digest)},
271 ) catch unreachable;
272 return out_digest;
273}
274
278275pub const Lock = struct {
279276 manifest_file: fs.File,
280277
......@@ -426,11 +423,7 @@ pub const Manifest = struct {
426423 var bin_digest: BinDigest = undefined;
427424 self.hash.hasher.final(&bin_digest);
428425
429 _ = fmt.bufPrint(
430 &self.hex_digest,
431 "{s}",
432 .{fmt.fmtSliceHexLower(&bin_digest)},
433 ) catch unreachable;
426 self.hex_digest = binToHex(bin_digest);
434427
435428 self.hash.hasher = hasher_init;
436429 self.hash.hasher.update(&bin_digest);
......@@ -899,14 +892,7 @@ pub const Manifest = struct {
899892 var bin_digest: BinDigest = undefined;
900893 self.hash.hasher.final(&bin_digest);
901894
902 var out_digest: HexDigest = undefined;
903 _ = fmt.bufPrint(
904 &out_digest,
905 "{s}",
906 .{fmt.fmtSliceHexLower(&bin_digest)},
907 ) catch unreachable;
908
909 return out_digest;
895 return binToHex(bin_digest);
910896 }
911897
912898 /// If `want_shared_lock` is true, this function automatically downgrades the