Hey, I noticed that current implementation is differs from original C implementation on emojis. This might be a problem for multilingual systems.
Example with the string from Readme:
#include <stdio.h>
unsigned long hash(unsigned char *str) {
unsigned long hash = 5381;
int c;
while ((c = *str++))
hash = ((hash << 5) + hash) ^ c;
return hash & 0xFFFFFFFF;
}
int main() {
unsigned char myString [] = "π¦π";
printf("hash %ld\n", hash(myString));
return 0;
}
// => hash 1642026147
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too