diff options
Diffstat (limited to 'third_party/nix/src/libutil/hash.cc')
-rw-r--r-- | third_party/nix/src/libutil/hash.cc | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/third_party/nix/src/libutil/hash.cc b/third_party/nix/src/libutil/hash.cc index 0d80972cceda..9165182ed70f 100644 --- a/third_party/nix/src/libutil/hash.cc +++ b/third_party/nix/src/libutil/hash.cc @@ -86,7 +86,7 @@ static std::string printHash32(const Hash& hash) { std::string s; s.reserve(len); - for (int n = (int)len - 1; n >= 0; n--) { + for (int n = static_cast<int>(len) - 1; n >= 0; n--) { unsigned int b = n * 5; unsigned int i = b / 8; unsigned int j = b % 8; @@ -119,7 +119,8 @@ std::string Hash::to_string(Base base, bool includeType) const { case Base64: case SRI: std::string b64; - absl::Base64Escape(std::string((const char*)hash, hashSize), &b64); + absl::Base64Escape( + std::string(reinterpret_cast<const char*>(hash), hashSize), &b64); s += b64; break; } @@ -179,7 +180,7 @@ Hash::Hash(const std::string& s, HashType type) : type(type) { else if (!isSRI && size == base32Len()) { for (unsigned int n = 0; n < size; ++n) { char c = s[pos + size - n - 1]; - unsigned char digit; + unsigned char digit = 0; for (digit = 0; digit < base32Chars.size(); ++digit) { /* !!! slow */ if (base32Chars[digit] == c) { break; @@ -267,16 +268,16 @@ static void finish(HashType ht, Ctx& ctx, unsigned char* hash) { } Hash hashString(HashType ht, const std::string& s) { - Ctx ctx; + Ctx ctx{}; Hash hash(ht); start(ht, ctx); - update(ht, ctx, (const unsigned char*)s.data(), s.length()); + update(ht, ctx, reinterpret_cast<const unsigned char*>(s.data()), s.length()); finish(ht, ctx, hash.hash); return hash; } Hash hashFile(HashType ht, const Path& path) { - Ctx ctx; + Ctx ctx{}; Hash hash(ht); start(ht, ctx); @@ -286,7 +287,7 @@ Hash hashFile(HashType ht, const Path& path) { } std::vector<unsigned char> buf(8192); - ssize_t n; + ssize_t n = 0; while ((n = read(fd.get(), buf.data(), buf.size())) != 0) { checkInterrupt(); if (n == -1) { |