summaryrefslogtreecommitdiff
path: root/qstd
diff options
context:
space:
mode:
authorquou <quou@disroot.org>2024-12-21 21:25:22 +1100
committerquou <quou@disroot.org>2024-12-21 21:25:22 +1100
commit5bc8f90c38981045515bab04d26687f929f62ec1 (patch)
treed1d603ded306ae218e75f7eff4b69807f2a14e26 /qstd
parent3283c6c8c32f980bd01591e441acd9c712c650ef (diff)
render a triangle
Diffstat (limited to 'qstd')
-rw-r--r--qstd/str.c9
-rw-r--r--qstd/str.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/qstd/str.c b/qstd/str.c
index a1c1aa1..b6b0eb7 100644
--- a/qstd/str.c
+++ b/qstd/str.c
@@ -9,3 +9,12 @@ uint64_t fnv1a64(uint8_t* buf, size_t size) {
}
return hash;
}
+
+uint32_t hash_string(const char* s) {
+ uint32_t h = 2166136261u;
+ for (; *s; s++) {
+ h ^= *(uint8_t*)s;
+ h *= 16777619;
+ }
+ return h;
+}
diff --git a/qstd/str.h b/qstd/str.h
index f55333e..da9bf36 100644
--- a/qstd/str.h
+++ b/qstd/str.h
@@ -5,5 +5,6 @@
#include <stdint.h>
uint64_t fnv1a64(uint8_t* buf, size_t size);
+uint32_t hash_string(const char* s);
#endif