summaryrefslogtreecommitdiff
path: root/src/lib/digester.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/digester.cc')
-rw-r--r--src/lib/digester.cc37
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;
}