]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Add routine to compare an ftok with C string
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 5 Nov 2015 13:22:56 +0000 (16:22 +0300)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 5 Nov 2015 13:22:56 +0000 (16:22 +0300)
src/libutil/fstring.c
src/libutil/fstring.h

index 3d5c59061ac8b51d24405b0d41f8081565fc83b9..d75b731fbbad920d44ae11095c2dee392ad3961a 100644 (file)
@@ -376,3 +376,24 @@ rspamd_fstring_cstr (const rspamd_fstring_t *s)
 
        return result;
 }
+
+gboolean
+rspamd_ftok_cstr_equal (const rspamd_ftok_t *s, const gchar *pat,
+               gboolean icase)
+{
+       gsize slen;
+       rspamd_ftok_t srch;
+
+       g_assert (s != NULL);
+       g_assert (pat != NULL);
+
+       slen = strlen (pat);
+       srch.begin = pat;
+       srch.len = slen;
+
+       if (icase) {
+               return (rspamd_ftok_casecmp (s, &srch) == 0);
+       }
+
+       return (rspamd_ftok_cmp (s, &srch) == 0);
+}
index d3b51821f38eafdfe34f87503ebf955d766e5fe9..79c96932ba0f2c770cbf1288c3b4377b82a95c67 100644 (file)
@@ -133,6 +133,12 @@ gint rspamd_ftok_casecmp (const rspamd_ftok_t *s1,
 gint rspamd_ftok_cmp (const rspamd_ftok_t *s1,
                const rspamd_ftok_t *s2);
 
+/**
+ * Return TRUE if ftok is equal to specified C string
+ */
+gboolean rspamd_ftok_cstr_equal (const rspamd_ftok_t *s,
+               const gchar *pat, gboolean icase);
+
 /**
  * Free fstring_t that is mapped to ftok_t
  *