dovecot: Added charset_to_utf8_str()
dovecot at dovecot.org
dovecot at dovecot.org
Mon Dec 3 14:23:49 EET 2007
details: http://hg.dovecot.org/dovecot/rev/a340d3379b90
changeset: 6908:a340d3379b90
user: Timo Sirainen <tss at iki.fi>
date: Mon Dec 03 14:21:21 2007 +0200
description:
Added charset_to_utf8_str()
diffstat:
2 files changed, 22 insertions(+), 1 deletion(-)
src/lib-charset/charset-utf8.c | 18 +++++++++++++++++-
src/lib-charset/charset-utf8.h | 5 +++++
diffs (48 lines):
diff -r 25ca7c443357 -r a340d3379b90 src/lib-charset/charset-utf8.c
--- 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"
@@ -13,6 +13,22 @@ bool charset_is_utf8(const char *charset
strcasecmp(charset, "ascii") == 0 ||
strcasecmp(charset, "UTF-8") == 0 ||
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
diff -r 25ca7c443357 -r a340d3379b90 src/lib-charset/charset-utf8.h
--- 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_translati
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
More information about the dovecot-cvs
mailing list