}
if (ndots == 0 || p == start - 1) {
- cbdata->out->begin = pos;
- cbdata->out->len = cbdata->begin + cbdata->len - pos;
+ if (cbdata->begin + cbdata->len - pos > cbdata->out->len) {
+ cbdata->out->begin = pos;
+ cbdata->out->len = cbdata->begin + cbdata->len - pos;
+ }
}
- return 1;
+ return 0;
}
gboolean
cbdata.begin = in;
cbdata.len = inlen;
cbdata.out = out;
+ out->len = 0;
- if (rspamd_multipattern_lookup (url_scanner->search_trie, in, inlen,
- rspamd_tld_trie_find_callback, &cbdata, NULL) == 0) {
- return FALSE;
+ rspamd_multipattern_lookup (url_scanner->search_trie, in, inlen,
+ rspamd_tld_trie_find_callback, &cbdata, NULL);
+
+ if (out->len > 0) {
+ return TRUE;
}
- return TRUE;
+ return FALSE;
}
static const gchar url_braces[] = {