changeset 6908:a340d3379b90 HEAD

Added charset_to_utf8_str()
author Timo Sirainen <tss@iki.fi>
date Mon, 03 Dec 2007 14:21:21 +0200
parents 25ca7c443357
children 725a31acbe00
files src/lib-charset/charset-utf8.c src/lib-charset/charset-utf8.h
diffstat 2 files changed, 22 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-charset/charset-utf8.c	Mon Dec 03 12:13:49 2007 +0200
+++ b/src/lib-charset/charset-utf8.c	Mon Dec 03 14:21:21 2007 +0200
@@ -1,7 +1,7 @@
 /* Copyright (c) 2002-2007 Dovecot authors, see the included COPYING file */
 
 #include "lib.h"
-#include "buffer.h"
+#include "str.h"
 #include "unichar.h"
 #include "charset-utf8.h"
 
@@ -15,6 +15,22 @@
 		strcasecmp(charset, "UTF8") == 0;
 }
 
+int charset_to_utf8_str(const char *charset, enum charset_flags flags,
+			const char *input, string_t *output,
+			enum charset_result *result_r)
+{
+	struct charset_translation *t;
+	size_t len = strlen(input);
+
+	if (charset_to_utf8_begin(charset, flags, &t) < 0)
+		return -1;
+
+	*result_r = charset_to_utf8(t, (const unsigned char *)input,
+				    &len, output);
+	charset_to_utf8_end(&t);
+	return 0;
+}
+
 #ifndef HAVE_ICONV
 
 struct charset_translation {
--- a/src/lib-charset/charset-utf8.h	Mon Dec 03 12:13:49 2007 +0200
+++ b/src/lib-charset/charset-utf8.h	Mon Dec 03 14:21:21 2007 +0200
@@ -29,4 +29,9 @@
 charset_to_utf8(struct charset_translation *t,
 		const unsigned char *src, size_t *src_size, buffer_t *dest);
 
+/* Translate a single string to UTF8. */
+int charset_to_utf8_str(const char *charset, enum charset_flags flags,
+			const char *input, string_t *output,
+			enum charset_result *result_r);
+
 #endif