diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/ndpi_analyze.c | 7 | ||||
-rw-r--r-- | src/lib/third_party/src/hll/hll.c | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/ndpi_analyze.c b/src/lib/ndpi_analyze.c index 79a3dcf59..4b4fbf72b 100644 --- a/src/lib/ndpi_analyze.c +++ b/src/lib/ndpi_analyze.c @@ -144,6 +144,9 @@ float ndpi_data_window_average(struct ndpi_analyze_struct *s) { float sum = 0.0; u_int16_t i, n = ndpi_min(s->num_data_entries, s->num_values_array_len); + if(n == 0) + return(0); + for(i=0; i<n; i++) sum += s->values[i]; @@ -228,6 +231,10 @@ void ndpi_hll_destroy(struct ndpi_hll *hll) { hll_destroy(hll); } +void ndpi_hll_reset(struct ndpi_hll *hll) { + hll_reset(hll); +} + void ndpi_hll_add(struct ndpi_hll *hll, const char *data, size_t data_len) { hll_add(hll, (const void *)data, data_len); } diff --git a/src/lib/third_party/src/hll/hll.c b/src/lib/third_party/src/hll/hll.c index 07d33f6dd..f8cd817db 100644 --- a/src/lib/third_party/src/hll/hll.c +++ b/src/lib/third_party/src/hll/hll.c @@ -67,6 +67,10 @@ void hll_destroy(struct ndpi_hll *hll) { hll->registers = NULL; } +void hll_reset(struct ndpi_hll *hll) { + memset(hll->registers, 0, hll->size); +} + static __inline void _hll_add_hash(struct ndpi_hll *hll, u_int32_t hash) { u_int32_t index = hash >> (32 - hll->bits); u_int8_t rank = _hll_rank(hash, hll->bits); |