From 7ee280786cf9d4e81569a3b451e3b937f1e50dee Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Sat, 22 Nov 2008 01:05:15 +0100 Subject: [PATCH] src/filter_chain.c, src/match_regex.c: Add some debugging messages. --- src/filter_chain.c | 37 +++++++++++++++++++++++++++++++------ src/match_regex.c | 10 ++++++++++ 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/src/filter_chain.c b/src/filter_chain.c index 154a4abe..e51e07ec 100644 --- a/src/filter_chain.c +++ b/src/filter_chain.c @@ -565,12 +565,19 @@ int fc_process_chain (const data_set_t *ds, value_list_t *vl, /* {{{ */ if (chain == NULL) return (-1); + DEBUG ("fc_process_chain (chain = %s);", chain->name); + status = FC_ACTION_CONTINUE; for (rule = chain->rules; rule != NULL; rule = rule->next) { fc_match_t *match; + if (rule->name[0] != 0) + { + DEBUG ("fc_process_chain: Testing the `%s' rule.", rule->name); + } + /* N. B.: rule->matches may be NULL. */ for (match = rule->matches; match != NULL; match = match->next) { @@ -578,7 +585,7 @@ int fc_process_chain (const data_set_t *ds, value_list_t *vl, /* {{{ */ &match->user_data); if (status < 0) { - WARNING ("fc_process: A match failed."); + WARNING ("fc_process_chain: A match failed."); break; } else if (status != FC_MATCH_MATCHES) @@ -589,14 +596,20 @@ int fc_process_chain (const data_set_t *ds, value_list_t *vl, /* {{{ */ if (match != NULL) continue; + if (rule->name[0] != 0) + { + DEBUG ("fc_process_chain: Rule `%s' matches.", rule->name); + } + for (target = rule->targets; target != NULL; target = target->next) { - /* If we get here, all matches have matched the value. Execute the target. */ + /* If we get here, all matches have matched the value. Execute the + * target. */ status = (*target->proc.invoke) (ds, vl, /* meta = */ NULL, &target->user_data); if (status < 0) { - WARNING ("fc_process: A target failed."); + WARNING ("fc_process_chain: A target failed."); continue; } else if (status == FC_ACTION_CONTINUE) @@ -605,12 +618,19 @@ int fc_process_chain (const data_set_t *ds, value_list_t *vl, /* {{{ */ break; else { - WARNING ("fc_process: Unknown target return value: %i", status); + WARNING ("fc_process_chain: Unknown target return value: %i", status); } } if (status == FC_ACTION_STOP) + { + if (rule->name[0] != 0) + { + DEBUG ("fc_process_chain: Rule `%s' signaled the stop condition.", + rule->name); + } break; + } } /* for (rule) */ /* for-loop has been aborted: A target returned `FC_ACTION_STOP' */ @@ -619,12 +639,13 @@ int fc_process_chain (const data_set_t *ds, value_list_t *vl, /* {{{ */ for (target = chain->targets; target != NULL; target = target->next) { - /* If we get here, all matches have matched the value. Execute the target. */ + /* If we get here, all matches have matched the value. Execute the + * target. */ status = (*target->proc.invoke) (ds, vl, /* meta = */ NULL, &target->user_data); if (status < 0) { - WARNING ("fc_process: The default target failed."); + WARNING ("fc_process_chain: The default target failed."); } } @@ -870,6 +891,8 @@ int fc_register_match (const char *name, match_proc_t proc) /* {{{ */ { fc_match_t *m; + DEBUG ("fc_register_match (%s);", name); + m = (fc_match_t *) malloc (sizeof (*m)); if (m == NULL) return (-ENOMEM); @@ -902,6 +925,8 @@ int fc_register_target (const char *name, target_proc_t proc) /* {{{ */ { fc_target_t *t; + DEBUG ("fc_register_target (%s);", name); + t = (fc_target_t *) malloc (sizeof (*t)); if (t == NULL) return (-ENOMEM); diff --git a/src/match_regex.c b/src/match_regex.c index e0ab7bd7..f14d96d5 100644 --- a/src/match_regex.c +++ b/src/match_regex.c @@ -105,7 +105,17 @@ static int mr_match_regexen (mr_regex_t *re_head, /* {{{ */ /* nmatch = */ 0, /* pmatch = */ NULL, /* eflags = */ 0); if (status == 0) + { + DEBUG ("regex match: Regular expression `%s' matches `%s'.", + re->re_str, string); return (FC_MATCH_MATCHES); + } + else + { + DEBUG ("regex match: Regular expression `%s' does not match `%s'.", + re->re_str, string); + } + } return (FC_MATCH_NO_MATCH); -- 2.30.2