From 6ac62f6509c0cbb17486e935f63d6e519b37c730 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Tue, 7 Apr 2015 13:59:09 +0100 Subject: [PATCH] Allow stateless trie search. --- src/libserver/url.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/libserver/url.c b/src/libserver/url.c index 41ecb7dd2..5e2bd4044 100644 --- a/src/libserver/url.c +++ b/src/libserver/url.c @@ -1421,16 +1421,27 @@ rspamd_url_find (rspamd_mempool_t *pool, gint *statep) { struct url_callback_data cb; - gint ret; + gint ret, state; - g_assert (statep != NULL); memset (&cb, 0, sizeof (cb)); cb.begin = begin; cb.end = begin + len; cb.is_html = is_html; cb.pool = pool; + + if (statep != NULL) { + state = *statep; + } + else { + state = 0; + } + ret = acism_lookup (url_scanner->search_trie, begin, len, - rspamd_url_trie_callback, &cb, statep, true); + rspamd_url_trie_callback, &cb, &state, true); + + if (statep) { + *statep = state; + } if (ret) { if (start) { -- 2.39.5