From f9840532ed954b1bafb600b9c9b1e9b597bb7fef Mon Sep 17 00:00:00 2001 From: lemon Date: Sat, 6 Aug 2022 15:49:55 +0200 Subject: fnv1a fix --- bootstrap/util.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'bootstrap/util.c') diff --git a/bootstrap/util.c b/bootstrap/util.c index bd6f951..43aa1b4 100644 --- a/bootstrap/util.c +++ b/bootstrap/util.c @@ -4,12 +4,23 @@ u32 fnv1a(u32 h, const void *p, size_t length) { const u8 *data = p; size_t i = 0; - u64 H = h; while (i != length) { - H ^= data[i++]; - H *= 0x100000001b3; + h ^= data[i++]; + h *= 0x01000193; } - return H; + return h; +} +u32 +fnv1ai(u32 hash, int i) { + return fnv1a(hash, &i, sizeof i); +} +u32 +fnv1aI(u32 hash, i64 i) { + return fnv1a(hash, &i, sizeof i); +} +u32 +fnv1az(u32 hash, size_t i) { + return fnv1a(hash, &i, sizeof i); } static const char *filepaths[100]; -- cgit v1.2.3