]> source.dussan.org Git - rspamd.git/commitdiff
Add methods to get re flags
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 9 Dec 2015 14:17:22 +0000 (14:17 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 9 Dec 2015 14:17:22 +0000 (14:17 +0000)
src/libutil/regexp.c
src/libutil/regexp.h

index 2fe614e90aecc28d8a61ca3dfeeaae976047e529..9db0311097d866c8d4afeb18d2988981e559d8e0 100644 (file)
@@ -54,6 +54,7 @@ struct rspamd_regexp_s {
        gpointer re_class;
        guint64 cache_id;
        gint flags;
+       gint pcre_flags;
        gint ncaptures;
        gint nbackref;
 };
@@ -248,6 +249,7 @@ fin:
        res->flags = rspamd_flags;
        res->pattern = real_pattern;
        res->cache_id = RSPAMD_INVALID_ID;
+       res->pcre_flags = regexp_flags;
 
        if (rspamd_flags & RSPAMD_REGEXP_FLAG_RAW) {
                res->raw_re = r;
@@ -489,6 +491,22 @@ rspamd_regexp_get_pattern (rspamd_regexp_t *re)
        return re->pattern;
 }
 
+guint
+rspamd_regexp_get_flags (rspamd_regexp_t *re)
+{
+       g_assert (re != NULL);
+
+       return re->flags;
+}
+
+guint
+rspamd_regexp_get_pcre_flags (rspamd_regexp_t *re)
+{
+       g_assert (re != NULL);
+
+       return re->pcre_flags;
+}
+
 gint
 rspamd_regexp_get_nbackrefs (rspamd_regexp_t *re)
 {
index a64f36e1a3b38122645ca8d3656da39bb4ff28d3..8d3720f3eadebc7cff535d4cbc6e7794970c5c6e 100644 (file)
@@ -112,6 +112,15 @@ gpointer rspamd_regexp_get_id (rspamd_regexp_t *re);
  */
 const char* rspamd_regexp_get_pattern (rspamd_regexp_t *re);
 
+/**
+ * Get PCRE flags for the regexp
+ */
+guint rspamd_regexp_get_pcre_flags (rspamd_regexp_t *re);
+/**
+ * Get rspamd flags for the regexp
+ */
+guint rspamd_regexp_get_flags (rspamd_regexp_t *re);
+
 /**
  * Returns number of backreferences in a regexp
  */