X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdaemon%2Ffilter_chain.c;h=ecc7f165a5a1f73064aedcdaa9b41e086f24abf1;hb=f9a6df05238501ca41931af0d8d51acea716c105;hp=b93435fd0afc8bcd1caa8b8d60497aede96b6496;hpb=b57d6e25aa792f0461aee4e5bd6d1838c478af50;p=collectd.git diff --git a/src/daemon/filter_chain.c b/src/daemon/filter_chain.c index b93435fd..ecc7f165 100644 --- a/src/daemon/filter_chain.c +++ b/src/daemon/filter_chain.c @@ -392,7 +392,6 @@ static int fc_config_add_rule (fc_chain_t *chain, /* {{{ */ for (i = 0; i < ci->children_num; i++) { oconfig_item_t *option = ci->children + i; - status = 0; if (strcasecmp ("Match", option->key) == 0) status = fc_config_add_match (&rule->matches, option); @@ -486,7 +485,6 @@ static int fc_config_add_chain (const oconfig_item_t *ci) /* {{{ */ for (i = 0; i < ci->children_num; i++) { oconfig_item_t *option = ci->children + i; - status = 0; if (strcasecmp ("Rule", option->key) == 0) status = fc_config_add_rule (chain, option); @@ -733,6 +731,8 @@ static int fc_bit_write_invoke (const data_set_t *ds, /* {{{ */ "all write plugins failed with status %i (ENOENT). " "Most likely this means you didn't load any write plugins.", status); + + plugin_log_available_writers (); } else if (status != 0) { @@ -763,6 +763,8 @@ static int fc_bit_write_invoke (const data_set_t *ds, /* {{{ */ "Filter subsystem: Built-in target `write': Dispatching value to " "the `%s' plugin failed with status %i.", plugin_list[i].plugin, status); + + plugin_log_available_writers (); } else { @@ -902,17 +904,17 @@ int fc_process_chain (const data_set_t *ds, value_list_t *vl, /* {{{ */ { fc_rule_t *rule; fc_target_t *target; - int status; + int status = FC_TARGET_CONTINUE; if (chain == NULL) return (-1); DEBUG ("fc_process_chain (chain = %s);", chain->name); - status = FC_TARGET_CONTINUE; for (rule = chain->rules; rule != NULL; rule = rule->next) { fc_match_t *match; + status = FC_TARGET_CONTINUE; if (rule->name[0] != 0) { @@ -974,8 +976,7 @@ int fc_process_chain (const data_set_t *ds, value_list_t *vl, /* {{{ */ } } - if ((status == FC_TARGET_STOP) - || (status == FC_TARGET_RETURN)) + if ((status == FC_TARGET_STOP) || (status == FC_TARGET_RETURN)) { if (rule->name[0] != 0) { @@ -986,20 +987,10 @@ int fc_process_chain (const data_set_t *ds, value_list_t *vl, /* {{{ */ } break; } - else - { - status = FC_TARGET_CONTINUE; - } } /* for (rule) */ - if (status == FC_TARGET_STOP) - return (FC_TARGET_STOP); - else if (status == FC_TARGET_RETURN) - return (FC_TARGET_CONTINUE); - - /* for-loop has been aborted: A target returned `FC_TARGET_STOP' */ - if (rule != NULL) - return (FC_TARGET_CONTINUE); + if ((status == FC_TARGET_STOP) || (status == FC_TARGET_RETURN)) + return (status); DEBUG ("fc_process_chain (%s): Executing the default targets.", chain->name);