Make terminate_threads() less likely to leave _threads containing invalid pointers.
[dcpomatic.git] / src / lib / digester.cc
index 66e617de81d371c0d8eaf0196569920d5aac45fe..7bcc77646f8245873006fc6f23c675008179b8fd 100644 (file)
@@ -19,9 +19,9 @@
 */
 
 #include "digester.h"
-#include "safe_stringstream.h"
 #include <nettle/md5.h>
 #include <iomanip>
+#include <cstdio>
 
 using std::string;
 using std::hex;
@@ -57,12 +57,12 @@ 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 ();