]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: event-filter - Add a helper function to get at the filter's boolean expression
authorJosef 'Jeff' Sipek <jeff.sipek@open-xchange.com>
Tue, 19 Jan 2021 18:41:45 +0000 (13:41 -0500)
committerJosef 'Jeff' Sipek <jeff.sipek@open-xchange.com>
Tue, 19 Jan 2021 18:41:45 +0000 (13:41 -0500)
This is necessary for the soon-to-be-implemented unit tests.

src/lib/event-filter-private.h
src/lib/event-filter.c

index 9db1d0b377bccd23384991cedba473b9f31286e4..6793124c672f772105392152b016fbe695e55e91 100644 (file)
@@ -100,5 +100,7 @@ event_filter_query_match_eval(struct event_filter_node *node,
                              enum event_filter_log_type log_type);
 const char *
 event_filter_category_from_log_type(enum event_filter_log_type log_type);
+struct event_filter_node *
+event_filter_get_expr_for_testing(struct event_filter *filter, unsigned int *count_r);
 
 #endif
index d9a0ac2f44ee10980ac9c820ae0f6193480134b2..e0803f9a4de6fa23cc66c3af1f888d591438f2be 100644 (file)
@@ -458,6 +458,17 @@ void event_filter_export(struct event_filter *filter, string_t *dest)
        }
 }
 
+struct event_filter_node *
+event_filter_get_expr_for_testing(struct event_filter *filter,
+                                 unsigned int *count_r)
+{
+       const struct event_filter_query_internal *queries;
+
+       queries = array_get(&filter->queries, count_r);
+
+       return (*count_r == 0) ? NULL : queries[0].expr;
+}
+
 static bool
 event_category_match(const struct event_category *category,
                     const struct event_category *wanted_category)