summaryrefslogtreecommitdiffstats
path: root/src/libmime
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2020-04-07 21:37:47 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2020-04-07 21:37:47 +0100
commite31ed502be8b5109ad10f6e7bc078ecceb0c9a4d (patch)
tree5dce326a8b04c77b7cc80818f221cfcda5f41c3e /src/libmime
parente9418b12ff5cab4c366af3751906f5e95ba3df7a (diff)
downloadrspamd-e31ed502be8b5109ad10f6e7bc078ecceb0c9a4d.tar.gz
rspamd-e31ed502be8b5109ad10f6e7bc078ecceb0c9a4d.zip
[Minor] Add a small helper function
Diffstat (limited to 'src/libmime')
-rw-r--r--src/libmime/scan_result.c19
-rw-r--r--src/libmime/scan_result.h9
2 files changed, 28 insertions, 0 deletions
diff --git a/src/libmime/scan_result.c b/src/libmime/scan_result.c
index 1af2905e7..859905386 100644
--- a/src/libmime/scan_result.c
+++ b/src/libmime/scan_result.c
@@ -886,4 +886,23 @@ rspamd_task_symbol_result_foreach (struct rspamd_task *task,
func ((gpointer)kk, (gpointer)&res, ud);
});
}
+}
+
+struct rspamd_scan_result *
+rspamd_find_metric_result (struct rspamd_task *task,
+ const gchar *name)
+{
+ struct rspamd_scan_result *res;
+
+ if (name == NULL) {
+ return task->result;
+ }
+
+ DL_FOREACH (task->result, res) {
+ if (res->name && strcmp (res->name, name) == 0) {
+ return res;
+ }
+ }
+
+ return NULL;
} \ No newline at end of file
diff --git a/src/libmime/scan_result.h b/src/libmime/scan_result.h
index fd3b8f896..dcae2609c 100644
--- a/src/libmime/scan_result.h
+++ b/src/libmime/scan_result.h
@@ -100,6 +100,15 @@ struct rspamd_scan_result *rspamd_create_metric_result (struct rspamd_task *task
const gchar *name, gint lua_sym_cbref);
/**
+ * Find result with a specific name (NULL means the default result)
+ * @param task
+ * @param name
+ * @return
+ */
+struct rspamd_scan_result *rspamd_find_metric_result (struct rspamd_task *task,
+ const gchar *name);
+
+/**
* Adds a new passthrough result to a task
* @param task
* @param action