]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Add routine to convert an ftok_t to a C string
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 9 Nov 2018 08:31:26 +0000 (08:31 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 9 Nov 2018 08:31:26 +0000 (08:31 +0000)
src/libutil/fstring.c
src/libutil/fstring.h

index fac3b364b48df3faad40a4324a19a88fa6884106..2cfbd7bf82a6bee4cdd67a78992eccbeb6d7b865 100644 (file)
@@ -223,8 +223,6 @@ rspamd_fstring_erase (rspamd_fstring_t *str, gsize pos, gsize len)
        }
 }
 
-char *rspamd_fstring_cstr (const rspamd_fstring_t *str);
-
 /* Compat code */
 static guint32
 fstrhash_c (gchar c, guint32 hval)
@@ -418,6 +416,22 @@ rspamd_fstring_cstr (const rspamd_fstring_t *s)
        return result;
 }
 
+char *
+rspamd_ftok_cstr (const rspamd_ftok_t *s)
+{
+       char *result;
+
+       if (s == NULL) {
+               return NULL;
+       }
+
+       result = g_malloc (s->len + 1);
+       memcpy (result, s->begin, s->len);
+       result[s->len] = '\0';
+
+       return result;
+}
+
 gboolean
 rspamd_ftok_cstr_equal (const rspamd_ftok_t *s, const gchar *pat,
                gboolean icase)
index e5d34e02212892ab7c17c1d185e9a2bcca82d57a..1f194827ccad9692d4557b7d321b1f82eb29ad01 100644 (file)
@@ -87,12 +87,17 @@ void rspamd_fstring_erase (rspamd_fstring_t *str, gsize pos, gsize len);
 #define rspamd_fstring_clear(s) rspamd_fstring_erase(s, 0, s->len)
 
 /**
- * Convert fixed string to a zero terminated string. This string should be
+ * Convert fixed string to a zero terminated string. This string must be
  * freed by a caller
  */
 char * rspamd_fstring_cstr (const rspamd_fstring_t *str)
                G_GNUC_WARN_UNUSED_RESULT;
-
+/**
+ * Convert fixed string usign ftok_t to a zero terminated string. This string must be
+ * freed by a caller
+ */
+char * rspamd_ftok_cstr (const rspamd_ftok_t *str)
+               G_GNUC_WARN_UNUSED_RESULT;
 /*
  * Return fast hash value for fixed string converted to lowercase
  */