aboutsummaryrefslogtreecommitdiff
path: root/bootstrap/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap/util.c')
-rw-r--r--bootstrap/util.c19
1 files changed, 15 insertions, 4 deletions
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];