dataset: fix string length handling in hash

pull/4337/head
Victor Julien 6 years ago
parent 1721da91ef
commit 51ec980e80

@ -88,11 +88,12 @@ bool StringCompare(void *a, void *b)
uint32_t StringHash(void *s)
{
uint32_t hash = 5381;
int c;
uint8_t *sptr = ((StringType *)s)->ptr;
StringType *str = s;
while ((c = *sptr++))
for (uint32_t i = 0; i < str->len; i++) {
int c = str->ptr[i];
hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
}
return hash;
}

Loading…
Cancel
Save