mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
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.
This commit is contained in:
parent
29512f0edd
commit
7ed2fbd755
1 changed files with 14 additions and 28 deletions
|
|
@ -250,7 +250,19 @@ pub const HashHelper = struct {
|
||||||
pub fn final(hh: *HashHelper) HexDigest {
|
pub fn final(hh: *HashHelper) HexDigest {
|
||||||
var bin_digest: BinDigest = undefined;
|
var bin_digest: BinDigest = undefined;
|
||||||
hh.hasher.final(&bin_digest);
|
hh.hasher.final(&bin_digest);
|
||||||
|
return binToHex(bin_digest);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn oneShot(bytes: []const u8) [hex_digest_len]u8 {
|
||||||
|
var hasher: Hasher = hasher_init;
|
||||||
|
hasher.update(bytes);
|
||||||
|
var bin_digest: BinDigest = undefined;
|
||||||
|
hasher.final(&bin_digest);
|
||||||
|
return binToHex(bin_digest);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
pub fn binToHex(bin_digest: BinDigest) HexDigest {
|
||||||
var out_digest: HexDigest = undefined;
|
var out_digest: HexDigest = undefined;
|
||||||
_ = fmt.bufPrint(
|
_ = fmt.bufPrint(
|
||||||
&out_digest,
|
&out_digest,
|
||||||
|
|
@ -260,21 +272,6 @@ pub const HashHelper = struct {
|
||||||
return out_digest;
|
return out_digest;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn oneShot(bytes: []const u8) [hex_digest_len]u8 {
|
|
||||||
var hasher: Hasher = hasher_init;
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
pub const Lock = struct {
|
pub const Lock = struct {
|
||||||
manifest_file: fs.File,
|
manifest_file: fs.File,
|
||||||
|
|
||||||
|
|
@ -426,11 +423,7 @@ pub const Manifest = struct {
|
||||||
var bin_digest: BinDigest = undefined;
|
var bin_digest: BinDigest = undefined;
|
||||||
self.hash.hasher.final(&bin_digest);
|
self.hash.hasher.final(&bin_digest);
|
||||||
|
|
||||||
_ = fmt.bufPrint(
|
self.hex_digest = binToHex(bin_digest);
|
||||||
&self.hex_digest,
|
|
||||||
"{s}",
|
|
||||||
.{fmt.fmtSliceHexLower(&bin_digest)},
|
|
||||||
) catch unreachable;
|
|
||||||
|
|
||||||
self.hash.hasher = hasher_init;
|
self.hash.hasher = hasher_init;
|
||||||
self.hash.hasher.update(&bin_digest);
|
self.hash.hasher.update(&bin_digest);
|
||||||
|
|
@ -899,14 +892,7 @@ pub const Manifest = struct {
|
||||||
var bin_digest: BinDigest = undefined;
|
var bin_digest: BinDigest = undefined;
|
||||||
self.hash.hasher.final(&bin_digest);
|
self.hash.hasher.final(&bin_digest);
|
||||||
|
|
||||||
var out_digest: HexDigest = undefined;
|
return binToHex(bin_digest);
|
||||||
_ = fmt.bufPrint(
|
|
||||||
&out_digest,
|
|
||||||
"{s}",
|
|
||||||
.{fmt.fmtSliceHexLower(&bin_digest)},
|
|
||||||
) catch unreachable;
|
|
||||||
|
|
||||||
return out_digest;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// If `want_shared_lock` is true, this function automatically downgrades the
|
/// If `want_shared_lock` is true, this function automatically downgrades the
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue