]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Add hash_equal() function
authorJoel Rosdahl <joel@rosdahl.net>
Fri, 13 Aug 2010 20:58:06 +0000 (22:58 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Sat, 14 Aug 2010 19:14:07 +0000 (21:14 +0200)
ccache.h
hash.c

index a317100f870b3f26023686b64d692861def59596..8ddc533b286ce77c2d9a76051015f94d00a3e037 100644 (file)
--- a/ccache.h
+++ b/ccache.h
@@ -71,6 +71,7 @@ void hash_start(struct mdfour *md);
 void hash_buffer(struct mdfour *md, const void *s, size_t len);
 char *hash_result(struct mdfour *md);
 void hash_result_as_bytes(struct mdfour *md, unsigned char *out);
+int hash_equal(struct mdfour *md1, struct mdfour *md2);
 void hash_delimiter(struct mdfour *md, const char* type);
 void hash_string(struct mdfour *md, const char *s);
 void hash_int(struct mdfour *md, int x);
diff --git a/hash.c b/hash.c
index d6b95bcd4aa621b221d6bdb90253e590162a636c..6220a545f85eea93cae98c6381904693419d9654 100644 (file)
--- a/hash.c
+++ b/hash.c
@@ -58,6 +58,15 @@ hash_result_as_bytes(struct mdfour *md, unsigned char *out)
        mdfour_result(md, out);
 }
 
+int
+hash_equal(struct mdfour *md1, struct mdfour *md2)
+{
+       unsigned char sum1[16], sum2[16];
+       hash_result_as_bytes(md1, sum1);
+       hash_result_as_bytes(md2, sum2);
+       return memcmp(sum1, sum2, sizeof(sum1)) == 0;
+}
+
 /*
  * Hash some data that is unlikely to occur in the input. The idea is twofold:
  *