diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-09-20 16:15:32 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-09-20 16:15:32 +0000 |
commit | 0623359fbc67c421bf76b7433f92c7ef58050321 (patch) | |
tree | b0621f97bbbea2ae2ad69a89284454aa1f0c85c0 /src/libutil | |
parent | 22d13d6ec27b02f98ca4e398fbae4f3273e97794 (diff) |
* Print a better error message for wrong hashes (NIX-49).
Diffstat (limited to 'src/libutil')
-rw-r--r-- | src/libutil/hash.cc | 8 | ||||
-rw-r--r-- | src/libutil/hash.hh | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/libutil/hash.cc b/src/libutil/hash.cc index 16597fd47..7381948f2 100644 --- a/src/libutil/hash.cc +++ b/src/libutil/hash.cc @@ -120,6 +120,12 @@ static unsigned char divMod(unsigned char * bytes, unsigned char y) } +unsigned int hashLength32(const Hash & hash) +{ + return (hash.hashSize * 8 - 1) / 5 + 1; +} + + // omitted: E O U T const string base32Chars = "0123456789abcdfghijklmnpqrsvwxyz"; @@ -127,7 +133,7 @@ const string base32Chars = "0123456789abcdfghijklmnpqrsvwxyz"; string printHash32(const Hash & hash) { Hash hash2(hash); - unsigned int len = (hash.hashSize * 8 - 1) / 5 + 1; + unsigned int len = hashLength32(hash); const char * chars = base32Chars.c_str(); diff --git a/src/libutil/hash.hh b/src/libutil/hash.hh index 95629bc9e..74ae51db3 100644 --- a/src/libutil/hash.hh +++ b/src/libutil/hash.hh @@ -49,6 +49,9 @@ string printHash(const Hash & hash); /* Parse a hexadecimal representation of a hash code. */ Hash parseHash(HashType ht, const string & s); +/* Returns the length of a base-32 hash representation. */ +unsigned int hashLength32(const Hash & hash); + /* Convert a hash to a base-32 representation. */ string printHash32(const Hash & hash); |