]> source.dussan.org Git - rspamd.git/commitdiff
Implement match.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 5 Mar 2015 16:51:36 +0000 (16:51 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 5 Mar 2015 16:51:36 +0000 (16:51 +0000)
src/libutil/regexp.c

index 57515703e9e7baf440284f5d6a9c3b694498ec21..06555f57f6ac2692e23713a6e3706ba15c311324 100644 (file)
@@ -327,7 +327,7 @@ rspamd_regexp_search (rspamd_regexp_t *re, const gchar *text, gsize len,
                        *start = mt + ovec[0];
                }
                if (end) {
-                       *end = mt + ovec[1];
+                       *end = mt + ovec[0] + ovec[1];
                }
 
                return TRUE;
@@ -340,9 +340,17 @@ gboolean
 rspamd_regexp_match (rspamd_regexp_t *re, const gchar *text, gsize len,
                gboolean raw)
 {
+       const gchar *start = NULL, *end = NULL;
+
        g_assert (re != NULL);
        g_assert (text != NULL);
 
+       if (rspamd_regexp_search (re, text, len, &start, &end, raw)) {
+               if (start == text && end == text + len) {
+                       return TRUE;
+               }
+       }
+
        return FALSE;
 }