}
}
-char *rspamd_fstring_cstr (const rspamd_fstring_t *str);
-
/* Compat code */
static guint32
fstrhash_c (gchar c, guint32 hval)
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)
#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
*/