projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Warn when incorrect use of add or set causes variables to be removed.
[tinc]
/
src
/
hash.c
diff --git
a/src/hash.c
b/src/hash.c
index
1d203c5
..
a40e799
100644
(file)
--- a/
src/hash.c
+++ b/
src/hash.c
@@
-29,7
+29,7
@@
static uint32_t hash_function(const void *p, size_t len) {
uint32_t hash = 0;
while(true) {
for(int i = len > 4 ? 4 : len; --i;)
uint32_t hash = 0;
while(true) {
for(int i = len > 4 ? 4 : len; --i;)
- hash += q[i] << (8 * i);
+ hash += q[
len -
i] << (8 * i);
hash *= 0x9e370001UL; // Golden ratio prime.
if(len <= 4)
break;
hash *= 0x9e370001UL; // Golden ratio prime.
if(len <= 4)
break;
@@
-52,11
+52,11
@@
static uint32_t modulo(uint32_t hash, size_t n) {
/* (De)allocation */
hash_t *hash_alloc(size_t n, size_t size) {
/* (De)allocation */
hash_t *hash_alloc(size_t n, size_t size) {
- hash_t *hash = x
malloc_and_zero
(sizeof *hash);
+ hash_t *hash = x
zalloc
(sizeof *hash);
hash->n = n;
hash->size = size;
hash->n = n;
hash->size = size;
- hash->keys = x
malloc_and_zero
(hash->n * hash->size);
- hash->values = x
malloc_and_zero
(hash->n * sizeof *hash->values);
+ hash->keys = x
zalloc
(hash->n * hash->size);
+ hash->values = x
zalloc
(hash->n * sizeof *hash->values);
return hash;
}
return hash;
}