Imported Upstream version 0.7.5
[platform/upstream/libsolv.git] / src / chksum.c
index 2f27621..1f8ab47 100644 (file)
 #include "sha1.h"
 #include "sha2.h"
 
-struct _Chksum {
+#ifdef _WIN32
+  #include "strfncs.h"
+#endif
+
+struct s_Chksum {
   Id type;
   int done;
   unsigned char result[64];
@@ -259,3 +263,16 @@ solv_chksum_free(Chksum *chk, unsigned char *cp)
   return 0;
 }
 
+int
+solv_chksum_cmp(Chksum *chk, Chksum *chk2)
+{
+  int len;
+  const unsigned char *res1, *res2;
+  if (chk == chk2)
+    return 1;
+  if (!chk || !chk2 || chk->type != chk2->type)
+    return 0;
+  res1 = solv_chksum_get(chk, &len);
+  res2 = solv_chksum_get(chk2, 0);
+  return memcmp(res1, res2, len) == 0 ? 1 : 0;
+}