atom: correct iteration count in hash function
authorRan Benita <ran@unusedvar.com>
Sat, 9 Nov 2019 11:47:16 +0000 (13:47 +0200)
committerRan Benita <ran@unusedvar.com>
Sat, 9 Nov 2019 11:50:59 +0000 (13:50 +0200)
Fixup of ccab349 - unlike the commit message, hash a byte twice instead
of zero times, which is probably better. This is how it was before.

Signed-off-by: Ran Benita <ran@unusedvar.com>
src/atom.c

index 43faecb..e78c68f 100644 (file)
@@ -78,7 +78,7 @@ static inline uint32_t
 hash_buf(const char *string, size_t len)
 {
     uint32_t hash = 2166136261u;
-    for (size_t i = 0; i < len / 2; i++) {
+    for (size_t i = 0; i < (len + 1) / 2; i++) {
         hash ^= (uint8_t) string[i];
         hash *= 0x01000193;
         hash ^= (uint8_t) string[len - 1 - i];