X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdigester.cc;h=452452ba4b1c1091622a001c639446d83f2f2989;hb=baed8bf5fd429305685cc180184e99094cd64339;hp=66e617de81d371c0d8eaf0196569920d5aac45fe;hpb=283205f4bff717d0f70b5a4464df4ebd3581a51b;p=dcpomatic.git diff --git a/src/lib/digester.cc b/src/lib/digester.cc index 66e617de8..452452ba4 100644 --- a/src/lib/digester.cc +++ b/src/lib/digester.cc @@ -19,9 +19,10 @@ */ #include "digester.h" -#include "safe_stringstream.h" +#include "dcpomatic_assert.h" #include #include +#include using std::string; using std::hex; @@ -57,13 +58,26 @@ Digester::get () const unsigned char digest[MD5_DIGEST_SIZE]; md5_digest (&_context, MD5_DIGEST_SIZE, digest); - SafeStringStream s; + char hex[MD5_DIGEST_SIZE * 2 + 1]; for (int i = 0; i < MD5_DIGEST_SIZE; ++i) { - s << hex << setfill('0') << setw(2) << ((int) digest[i]); + sprintf(hex + i * 2, "%02x", digest[i]); } - _digest = s.str (); + _digest = hex; } return _digest.get (); } + +void +Digester::get (uint8_t* buffer) const +{ + md5_digest (&_context, MD5_DIGEST_SIZE, buffer); +} + + +int +Digester::size () const +{ + return MD5_DIGEST_SIZE; +}