X-Git-Url: http://git.vrable.net/?p=cumulus.git;a=blobdiff_plain;f=hash.cc;h=571bc1df6a8571979377942f620a752bb1d300f5;hp=7e2087a21cb7bde37dcd36a07d0daaa9065594e6;hb=HEAD;hpb=adc96a88db941bd79f4be217ac29b2dee86f5ba7 diff --git a/hash.cc b/hash.cc index 7e2087a..571bc1d 100644 --- a/hash.cc +++ b/hash.cc @@ -32,7 +32,6 @@ static map hash_registry; void Hash::Register(const std::string& name, Hash *(*constructor)()) { - printf("Registered hash algorithm %s\n", name.c_str()); hash_registry.insert(make_pair(name, constructor)); } @@ -50,6 +49,17 @@ Hash *Hash::New(const std::string& name) return constructor(); } +std::string Hash::hash_file(const char *filename) +{ + string result; + Hash *hash = Hash::New(); + if (hash->update_from_file(filename)) + result = hash->digest_str(); + + delete hash; + return result; +} + bool Hash::update_from_file(const char *filename) { FILE *f = fopen(filename, "rb");