MINOR: pattern: make the pattern matching function return a pointer to the matched element
This feature will be used by the CLI to look up keys.
diff --git a/src/pattern.c b/src/pattern.c
index 43011cd..c9e8978 100644
--- a/src/pattern.c
+++ b/src/pattern.c
@@ -1046,7 +1046,8 @@
* PAT_NOMATCH or PAT_MATCH.
*/
enum pat_match_res pattern_exec_match(struct pattern_expr *expr, struct sample *smp,
- struct sample_storage **sample)
+ struct sample_storage **sample,
+ struct pattern **pat, struct pat_idx_elt **idx_elt)
{
enum pat_match_res pat_res = PAT_NOMATCH;
struct pattern *pattern;
@@ -1079,6 +1080,8 @@
elt = ebmb_entry(node, struct pat_idx_elt, node);
if (sample)
*sample = elt->smp;
+ if (idx_elt)
+ *idx_elt = elt;
}
}
@@ -1090,6 +1093,8 @@
pat_res |= expr->match(smp, pattern);
if (sample)
*sample = pattern->smp;
+ if (pat)
+ *pat = pattern;
}
}