summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 65954d9)
raw | patch | inline | side by side (parent: 65954d9)
author | Florian Forster <octo@leeloo.lan.home.verplant.org> | |
Sat, 22 Nov 2008 00:05:15 +0000 (01:05 +0100) | ||
committer | Florian Forster <octo@leeloo.lan.home.verplant.org> | |
Sat, 22 Nov 2008 00:05:15 +0000 (01:05 +0100) |
src/filter_chain.c | patch | blob | history | |
src/match_regex.c | patch | blob | history |
diff --git a/src/filter_chain.c b/src/filter_chain.c
index 154a4abe99ddc5ed6baa4f761167a2b7c0b1c412..e51e07ec7bb3bdf67c82fa254454d60316cd6b4c 100644 (file)
--- a/src/filter_chain.c
+++ b/src/filter_chain.c
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)
{
&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)
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)
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' */
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.");
}
}
{
fc_match_t *m;
+ DEBUG ("fc_register_match (%s);", name);
+
m = (fc_match_t *) malloc (sizeof (*m));
if (m == NULL)
return (-ENOMEM);
{
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 e0ab7bd70917295300abd59bb87204a7945ab369..f14d96d5c933a6d278fee49c61b08ec625414d90 100644 (file)
--- a/src/match_regex.c
+++ b/src/match_regex.c
/* 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);