Mercurial > dovecot > core-2.2
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