diff options
Diffstat (limited to 'src/lib/digester.cc')
| -rw-r--r-- | src/lib/digester.cc | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/src/lib/digester.cc b/src/lib/digester.cc index 67a3e2398..bbcad5478 100644 --- a/src/lib/digester.cc +++ b/src/lib/digester.cc @@ -22,6 +22,7 @@ #include "digester.h" #include "dcpomatic_assert.h" #include <nettle/md5.h> +#include <nettle/version.h> #include <iomanip> #include <cstdio> @@ -32,38 +33,42 @@ using std::setfill; using std::setw; -Digester::Digester () +Digester::Digester() { - md5_init (&_context); + md5_init(&_context); } -Digester::~Digester () +Digester::~Digester() { - get (); + get(); } void -Digester::add (void const * data, size_t size) +Digester::add(void const * data, size_t size) { - md5_update (&_context, size, reinterpret_cast<uint8_t const *>(data)); + md5_update(&_context, size, reinterpret_cast<uint8_t const *>(data)); } void -Digester::add (string const & s) +Digester::add(string const & s) { - add (s.c_str(), s.length()); + add(s.c_str(), s.length()); } string -Digester::get () const +Digester::get() const { if (!_digest) { unsigned char digest[MD5_DIGEST_SIZE]; - md5_digest (&_context, MD5_DIGEST_SIZE, digest); +#if NETTLE_VERSION_MAJOR >= 4 + md5_digest(&_context, digest); +#else + md5_digest(&_context, MD5_DIGEST_SIZE, digest); +#endif char hex[MD5_DIGEST_SIZE * 2 + 1]; for (int i = 0; i < MD5_DIGEST_SIZE; ++i) { @@ -73,19 +78,23 @@ Digester::get () const _digest = hex; } - return _digest.get (); + return _digest.get(); } void -Digester::get (uint8_t* buffer) const +Digester::get(uint8_t* buffer) const { - md5_digest (&_context, MD5_DIGEST_SIZE, buffer); +#if NETTLE_VERSION_MAJOR >= 4 + md5_digest(&_context, buffer); +#else + md5_digest(&_context, MD5_DIGEST_SIZE, buffer); +#endif } int -Digester::size () const +Digester::size() const { return MD5_DIGEST_SIZE; } |
