diff options
author | Karsten Loesing <karsten.loesing@gmx.net> | 2012-05-15 12:39:08 +0200 |
---|---|---|
committer | Karsten Loesing <karsten.loesing@gmx.net> | 2012-05-15 12:39:08 +0200 |
commit | 57359b533673961fe15184b69bcedeb219c9dd90 (patch) | |
tree | 001bdabb430dcb47620f339ac74cd98464d0d091 /src/or/rephist.c | |
parent | 98a30daf34068d629652ab070b1ef50cbe8f0733 (diff) | |
download | tor-57359b533673961fe15184b69bcedeb219c9dd90.tar.gz tor-57359b533673961fe15184b69bcedeb219c9dd90.zip |
Fix desc stats on bridge authorities that didn't serve anything.
Diffstat (limited to 'src/or/rephist.c')
-rw-r--r-- | src/or/rephist.c | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/src/or/rephist.c b/src/or/rephist.c index 0cd60eeb83..173a770b18 100644 --- a/src/or/rephist.c +++ b/src/or/rephist.c @@ -2650,24 +2650,30 @@ rep_hist_format_desc_stats(time_t now) const char *key; void *val; unsigned size; - int *vals; + int *vals, max = 0, q3 = 0, md = 0, q1 = 0, min = 0; int n = 0; if (!start_of_served_descs_stats_interval) return NULL; - size = digestmap_size(served_descs); - if (size == 0) - return NULL; - vals = tor_malloc(size * sizeof(int)); - - for (iter = digestmap_iter_init(served_descs); !digestmap_iter_done(iter); - iter = digestmap_iter_next(served_descs, iter) ) { - uintptr_t count; - digestmap_iter_get(iter, &key, &val); - count = (uintptr_t)val; - vals[n++] = (int)count; - (void)key; + size = digestmap_size(served_descs); + if (size > 0) { + vals = tor_malloc(size * sizeof(int)); + for (iter = digestmap_iter_init(served_descs); + !digestmap_iter_done(iter); + iter = digestmap_iter_next(served_descs, iter)) { + uintptr_t count; + digestmap_iter_get(iter, &key, &val); + count = (uintptr_t)val; + vals[n++] = (int)count; + (void)key; + } + max = find_nth_int(vals, size, size-1); + q3 = find_nth_int(vals, size, (3*size-1)/4); + md = find_nth_int(vals, size, (size-1)/2); + q1 = find_nth_int(vals, size, (size-1)/4); + min = find_nth_int(vals, size, 0); + tor_free(vals); } format_iso_time(t, now); @@ -2678,14 +2684,8 @@ rep_hist_format_desc_stats(time_t now) t, (unsigned) (now - start_of_served_descs_stats_interval), total_descriptor_downloads, - size, - find_nth_int(vals, size, size-1), - find_nth_int(vals, size, (3*size-1)/4), - find_nth_int(vals, size, (size-1)/2), - find_nth_int(vals, size, (size-1)/4), - find_nth_int(vals, size, 0)); - - tor_free(vals); + size, max, q3, md, q1, min); + return result; } |