]> source.dussan.org Git - rspamd.git/commitdiff
[Feature] Add utility method to convert ftok to C string
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 9 May 2016 14:45:43 +0000 (15:45 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 9 May 2016 14:45:43 +0000 (15:45 +0100)
src/libutil/fstring.c
src/libutil/fstring.h

index 997dd6b46a0adfbc2b0a5bd4e7ca66d1f8d3ee80..285940f9ce70a07f52de94648ef14a6b49628bfa 100644 (file)
@@ -400,3 +400,19 @@ rspamd_ftok_cstr_equal (const rspamd_ftok_t *s, const gchar *pat,
 
        return (rspamd_ftok_cmp (s, &srch) == 0);
 }
+
+gchar *
+rspamd_ftokdup (const rspamd_ftok_t *src)
+{
+       gchar *newstr;
+
+       if (src == NULL) {
+               return NULL;
+       }
+
+       newstr = g_malloc (src->len + 1);
+       memcpy (newstr, src->begin, src->len);
+       newstr[src->len] = '\0';
+
+       return newstr;
+}
index 127557e402227e2a73a8de346e7526cb2ad8ac31..10916d876eca178d3983b68983e075b3626e1ef5 100644 (file)
@@ -153,4 +153,12 @@ rspamd_ftok_t *rspamd_ftok_map (const rspamd_fstring_t *s);
 rspamd_fstring_t * rspamd_fstring_grow (rspamd_fstring_t *str,
                gsize needed_len) G_GNUC_WARN_UNUSED_RESULT;
 
+/**
+ * Copies ftok to zero terminated string (must be freed using g_free)
+ * @param src
+ * @return
+ */
+gchar *rspamd_ftokdup (const rspamd_ftok_t *src) G_GNUC_WARN_UNUSED_RESULT;
+
+
 #endif