1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-25 10:41:16 +02:00

* Move parseHash16or32 into libutil, and use in nix-hash.

This commit is contained in:
Eelco Dolstra 2011-12-02 11:47:06 +00:00
parent b12b21825c
commit 49f59dceca
5 changed files with 23 additions and 22 deletions

View file

@ -204,6 +204,22 @@ Hash parseHash32(HashType ht, const string & s)
}
Hash parseHash16or32(HashType ht, const string & s)
{
Hash hash(ht);
if (s.size() == hash.hashSize * 2)
/* hexadecimal representation */
hash = parseHash(ht, s);
else if (s.size() == hashLength32(hash))
/* base-32 representation */
hash = parseHash32(ht, s);
else
throw Error(format("hash `%1%' has wrong length for hash type `%2%'")
% s % printHashType(ht));
return hash;
}
bool isHash(const string & s)
{
if (s.length() != 32) return false;