--- src/dot.cpp.orig	2016-05-10 19:51:52 UTC
+++ src/dot.cpp
@@ -39,6 +39,7 @@
 #include "dirdef.h"
 #include "vhdldocgen.h"
 #include "ftextstream.h"
+#include <sys/types.h>
 #include "md5.h"
 #include "memberlist.h"
 #include "groupdef.h"
@@ -2271,10 +2272,8 @@ void DotGfxHierarchyTable::createGraph(D
     }
   }
   writeGraphFooter(md5stream);
-  uchar md5_sig[16];
   QCString sigStr(33);
-  MD5Buffer((const unsigned char *)theGraph.data(),theGraph.length(),md5_sig);
-  MD5SigToString(md5_sig,sigStr.rawData(),33);
+  MD5Data((const unsigned char *)theGraph.data(),theGraph.length(),sigStr.rawData());
   bool regenerate=FALSE;
   if (checkAndUpdateMd5Signature(absBaseName,sigStr) || 
       !checkDeliverables(absImgName,absMapName))
@@ -3039,10 +3038,8 @@ QCString computeMd5Signature(DotNode *ro
     }
   }
   writeGraphFooter(md5stream);
-  uchar md5_sig[16];
   QCString sigStr(33);
-  MD5Buffer((const unsigned char *)buf.data(),buf.length(),md5_sig);
-  MD5SigToString(md5_sig,sigStr.rawData(),33);
+  MD5Data((const unsigned char *)buf.data(),buf.length(),sigStr.rawData());
   graphStr=buf.data();
   //printf("md5: %s | file: %s\n",sigStr,baseName.data());
   return sigStr;
@@ -3954,10 +3951,8 @@ QCString DotDirDeps::writeGraph(FTextStr
   FTextStream md5stream(&theGraph);
   //m_dir->writeDepGraph(md5stream);
   writeDotDirDepGraph(md5stream,m_dir,linkRelations);
-  uchar md5_sig[16];
   QCString sigStr(33);
-  MD5Buffer((const unsigned char *)theGraph.data(),theGraph.length(),md5_sig);
-  MD5SigToString(md5_sig,sigStr.rawData(),33);
+  MD5Data((const unsigned char *)theGraph.data(),theGraph.length(),sigStr.rawData());
   bool regenerate=FALSE;
   if (checkAndUpdateMd5Signature(absBaseName,sigStr) ||
       !checkDeliverables(graphFormat==GOF_BITMAP ? absImgName :
@@ -4099,10 +4094,8 @@ void generateGraphLegend(const char *pat
   md5stream << "  Node18 -> Node9 [dir=\"back\",color=\"darkorchid3\",fontsize=\"" << FONTSIZE << "\",style=\"dashed\",label=\"m_usedClass\",fontname=\"" << FONTNAME << "\"];\n";
   md5stream << "  Node18 [shape=\"box\",label=\"Used\",fontsize=\"" << FONTSIZE << "\",height=0.2,width=0.4,fontname=\"" << FONTNAME << "\",color=\"black\",URL=\"$classUsed" << Doxygen::htmlFileExtension << "\"];\n";
   writeGraphFooter(md5stream);
-  uchar md5_sig[16];
   QCString sigStr(33);
-  MD5Buffer((const unsigned char *)theGraph.data(),theGraph.length(),md5_sig);
-  MD5SigToString(md5_sig,sigStr.rawData(),33);
+  MD5Data((const unsigned char *)theGraph.data(),theGraph.length(),sigStr.rawData());
   QCString absBaseName = (QCString)path+"/graph_legend";
   QCString absDotName  = absBaseName+".dot";
   QCString imgExt = getDotImageExtension();
@@ -4507,10 +4500,8 @@ QCString DotGroupCollaboration::writeGra
   }
 
   writeGraphFooter(md5stream);
-  uchar md5_sig[16];
   QCString sigStr(33);
-  MD5Buffer((const unsigned char *)theGraph.data(),theGraph.length(),md5_sig);
-  MD5SigToString(md5_sig,sigStr.rawData(),33);
+  MD5Data((const unsigned char *)theGraph.data(),theGraph.length(),sigStr.rawData());
   QCString imgExt = getDotImageExtension();
   QCString imgFmt = Config_getEnum(DOT_IMAGE_FORMAT);
   QCString baseName    = m_diskName;