]> wimlib.net Git - wimlib/blobdiff - src/sha1.h
Inc version number, update NEWS
[wimlib] / src / sha1.h
index c44b9f40f76ce46cd78d7c12eec3c86a17d28498..8573c5435bed079b83db967eabec52224e9afe35 100644 (file)
@@ -9,6 +9,8 @@
 
 #define SHA1_HASH_SIZE 20
 
+extern const u8 zero_hash[SHA1_HASH_SIZE];
+
 static inline void copy_hash(u8 dest[SHA1_HASH_SIZE],
                             const u8 src[SHA1_HASH_SIZE])
 {
@@ -25,6 +27,11 @@ static inline bool hashes_equal(const u8 h1[SHA1_HASH_SIZE],
 {
        return memcmp(h1, h2, SHA1_HASH_SIZE) == 0;
 }
+static inline int hashes_cmp(const u8 h1[SHA1_HASH_SIZE],
+                            const u8 h2[SHA1_HASH_SIZE])
+{
+       return memcmp(h1, h2, SHA1_HASH_SIZE);
+}
 
 /* Prints a hash code field. */
 static inline void print_hash(const u8 hash[SHA1_HASH_SIZE])
@@ -34,13 +41,14 @@ static inline void print_hash(const u8 hash[SHA1_HASH_SIZE])
 
 static inline bool is_zero_hash(const u8 hash[SHA1_HASH_SIZE])
 {
-       for (u8 i = 0; i < SHA1_HASH_SIZE / 4; i++)
-               if (((u32*)hash)[i])
-                       return false;
+       if (hash)
+               for (u8 i = 0; i < SHA1_HASH_SIZE / 4; i++)
+                       if (((u32*)hash)[i])
+                               return false;
        return true;
 }
 
-static void zero_hash(u8 hash[SHA1_HASH_SIZE])
+static inline void zero_out_hash(u8 hash[SHA1_HASH_SIZE])
 {
        memset(hash, 0, SHA1_HASH_SIZE);
 }