From 163f058f1fdf93c7b557d6eb95f4d245337c8350 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 23 May 2016 18:15:56 +0100 Subject: [PATCH] [Feature] Add function to convert fstring_t to c string --- src/libutil/fstring.c | 16 ++++++++++++++++ src/libutil/fstring.h | 7 ++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/libutil/fstring.c b/src/libutil/fstring.c index 285940f9c..a70290a0b 100644 --- a/src/libutil/fstring.c +++ b/src/libutil/fstring.c @@ -416,3 +416,19 @@ rspamd_ftokdup (const rspamd_ftok_t *src) return newstr; } + +gchar * +rspamd_fstringdup (const rspamd_fstring_t *src) +{ + gchar *newstr; + + if (src == NULL) { + return NULL; + } + + newstr = g_malloc (src->len + 1); + memcpy (newstr, src->str, src->len); + newstr[src->len] = '\0'; + + return newstr; +} diff --git a/src/libutil/fstring.h b/src/libutil/fstring.h index 10916d876..db8b49085 100644 --- a/src/libutil/fstring.h +++ b/src/libutil/fstring.h @@ -160,5 +160,10 @@ rspamd_fstring_t * rspamd_fstring_grow (rspamd_fstring_t *str, */ gchar *rspamd_ftokdup (const rspamd_ftok_t *src) G_GNUC_WARN_UNUSED_RESULT; - +/** + * Copies fstring to zero terminated string (must be freed using g_free) + * @param src + * @return + */ +gchar *rspamd_fstringdup (const rspamd_fstring_t *src) G_GNUC_WARN_UNUSED_RESULT; #endif -- 2.39.5