diff options
Diffstat (limited to 'ot_vector.c')
| -rw-r--r-- | ot_vector.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/ot_vector.c b/ot_vector.c index c4cd171..7f18246 100644 --- a/ot_vector.c +++ b/ot_vector.c | |||
| @@ -8,7 +8,6 @@ | |||
| 8 | #include <stdint.h> | 8 | #include <stdint.h> |
| 9 | #include <stdlib.h> | 9 | #include <stdlib.h> |
| 10 | #include <string.h> | 10 | #include <string.h> |
| 11 | #include <strings.h> | ||
| 12 | 11 | ||
| 13 | /* Opentracker */ | 12 | /* Opentracker */ |
| 14 | #include "trackerlogic.h" | 13 | #include "trackerlogic.h" |
| @@ -174,7 +173,7 @@ void vector_clean_list(ot_vector *vector, size_t num_buckets) { | |||
| 174 | } | 173 | } |
| 175 | 174 | ||
| 176 | void vector_redistribute_buckets(ot_peerlist *peer_list, size_t peer_size) { | 175 | void vector_redistribute_buckets(ot_peerlist *peer_list, size_t peer_size) { |
| 177 | size_t tmp, bucket, bucket_size_new, num_buckets_new, num_buckets_old = 1; | 176 | size_t bucket, bucket_size_new, num_buckets_new, num_buckets_old = 1; |
| 178 | ot_vector *bucket_list_new, *bucket_list_old = &peer_list->peers; | 177 | ot_vector *bucket_list_new, *bucket_list_old = &peer_list->peers; |
| 179 | int (*sort_func)(const void *, const void *) = peer_size == OT_PEER_SIZE6 ? &vector_compare_peer6 : &vector_compare_peer4; | 178 | int (*sort_func)(const void *, const void *) = peer_size == OT_PEER_SIZE6 ? &vector_compare_peer6 : &vector_compare_peer4; |
| 180 | 179 | ||
| @@ -205,11 +204,10 @@ void vector_redistribute_buckets(ot_peerlist *peer_list, size_t peer_size) { | |||
| 205 | bucket_list_new = malloc(num_buckets_new * sizeof(ot_vector)); | 204 | bucket_list_new = malloc(num_buckets_new * sizeof(ot_vector)); |
| 206 | if (!bucket_list_new) | 205 | if (!bucket_list_new) |
| 207 | return; | 206 | return; |
| 208 | bzero(bucket_list_new, num_buckets_new * sizeof(ot_vector)); | 207 | memset(bucket_list_new, 0, num_buckets_new * sizeof(ot_vector)); |
| 209 | 208 | ||
| 210 | tmp = peer_list->peer_count / num_buckets_new; | ||
| 211 | bucket_size_new = OT_VECTOR_MIN_MEMBERS; | 209 | bucket_size_new = OT_VECTOR_MIN_MEMBERS; |
| 212 | while (bucket_size_new < tmp) | 210 | while (bucket_size_new * num_buckets_new < peer_list->peer_count) |
| 213 | bucket_size_new *= OT_VECTOR_GROW_RATIO; | 211 | bucket_size_new *= OT_VECTOR_GROW_RATIO; |
| 214 | 212 | ||
| 215 | /* preallocate vectors to hold all peers */ | 213 | /* preallocate vectors to hold all peers */ |
