]> wimlib.net Git - wimlib/blobdiff - src/sha1.h
Resource fixes/changes
[wimlib] / src / sha1.h
index 69398ceb0f59b2c5c12481d9a3b75c7a1f56b992..db524e6de60d5a579804ace47682423e73dc9d60 100644 (file)
@@ -5,16 +5,32 @@
 #include <stdio.h>
 #include <stddef.h>
 #include "string.h"
+#include "util.h"
 
 #define SHA1_HASH_SIZE 20
 
-extern const u8 empty_file_sha1sum[SHA1_HASH_SIZE];
+static inline void copy_hash(u8 dest[SHA1_HASH_SIZE],
+                            const u8 src[SHA1_HASH_SIZE])
+{
+       memcpy(dest, src, SHA1_HASH_SIZE);
+}
 
-static inline bool is_empty_file_hash(const u8 hash[SHA1_HASH_SIZE])
+static inline void random_hash(u8 hash[SHA1_HASH_SIZE])
 {
-       return memcmp(hash, empty_file_sha1sum, SHA1_HASH_SIZE) == 0;
+       randomize_byte_array(hash, SHA1_HASH_SIZE);
 }
 
+static inline bool hashes_equal(const u8 h1[SHA1_HASH_SIZE],
+                               const u8 h2[SHA1_HASH_SIZE])
+{
+       return memcmp(h1, h2, SHA1_HASH_SIZE) == 0;
+}
+
+/* Prints a hash code field. */
+static inline void print_hash(const u8 hash[])
+{
+       print_byte_field(hash, SHA1_HASH_SIZE);
+}
 
 extern int sha1sum(const char *filename, void *md);