From 765df5c44df7ee22f2a08702ed1047de5ff61d41 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 18 Mar 2011 18:58:08 +0300 Subject: Fix one shot behaviour. --- src/filter.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/filter.c b/src/filter.c index 68a43d1f9..ec7b5a5ed 100644 --- a/src/filter.c +++ b/src/filter.c @@ -84,7 +84,7 @@ insert_metric_result (struct worker_task *task, struct metric *metric, const gch /* Add metric score */ - if (!single && (s = g_hash_table_lookup (metric_res->symbols, symbol)) != NULL) { + if ((s = g_hash_table_lookup (metric_res->symbols, symbol)) != NULL) { if (s->options && opts && opts != s->options) { /* Append new options */ s->options = g_list_concat (s->options, g_list_copy(opts)); @@ -97,9 +97,10 @@ insert_metric_result (struct worker_task *task, struct metric *metric, const gch s->options = g_list_copy (opts); memory_pool_add_destructor (task->task_pool, (pool_destruct_func) g_list_free, s->options); } - - s->score += w; - metric_res->score += w; + if (!single) { + s->score += w; + metric_res->score += w; + } } else { s = memory_pool_alloc (task->task_pool, sizeof (struct symbol)); -- cgit v1.2.3