]> source.dussan.org Git - rspamd.git/commitdiff
Allow stateless trie search.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 7 Apr 2015 12:59:09 +0000 (13:59 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 7 Apr 2015 14:04:29 +0000 (15:04 +0100)
src/libserver/url.c

index 41ecb7dd2633fdfefd9a1a2ca5e137902b476afb..5e2bd40440aadddd5ae0ab3f86c02531ba25c5fa 100644 (file)
@@ -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) {