Use DJB2a hash algorithm in getHostHash()
Этот коммит содержится в:
коммит произвёл
Sylvain Jeaugey
родитель
24fcf64ed1
Коммит
0aeba157db
+2
-2
@@ -174,10 +174,10 @@ static void getHostName(char* hostname, int maxlen) {
|
||||
#include <stdint.h>
|
||||
|
||||
static uint64_t getHostHash(const char* string) {
|
||||
// Based on DJB2, result = result * 33 + char
|
||||
// Based on DJB2a, result = result * 33 ^ char
|
||||
uint64_t result = 5381;
|
||||
for (int c = 0; string[c] != '\0'; c++){
|
||||
result = ((result << 5) + result) + string[c];
|
||||
result = ((result << 5) + result) ^ string[c];
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user