Mercurial > pidgin
diff src/util.c @ 4458:a46c57f2d58b
[gaim-migrate @ 4733]
(20:45:09) Trogdor: http://web.ics.purdue.edu/~eblanton/gaim/gaim-cvs-oscar-ssi-conv.diff
(20:45:12) Trogdor: commit please
(20:45:22) LSchiere: commit log?
(20:45:48) Trogdor: Adds best-effort charset conversion to Oscar SSI aliases and group names.
(20:45:55) Trogdor: oh
(20:46:19) Trogdor: Also adds a gaim global function gaim_try_conv_to_utf8 () for attempting several logical encodings on a given string.
(20:46:43) Trogdor: (which replaces the aptly named whatever_to_utf8)
committer: Tailor Script <tailor@pidgin.im>
| author | Luke Schierer <lschiere@pidgin.im> |
|---|---|
| date | Wed, 29 Jan 2003 01:46:44 +0000 |
| parents | 5fb47ec9bfe4 |
| children | 62c1e5e656d0 |
line wrap: on
line diff
--- a/src/util.c Wed Jan 29 01:20:20 2003 +0000 +++ b/src/util.c Wed Jan 29 01:46:44 2003 +0000 @@ -1279,7 +1279,32 @@ return menuitem; } +char *gaim_try_conv_to_utf8(const char *str) +{ + int converted; + char *utf8; + if (str == NULL) { + return NULL; + } + + if (g_utf8_validate(str, -1, NULL)) { + return g_strdup(str); + } + utf8 = g_locale_to_utf8(str, -1, &converted, NULL, NULL); + if (utf8 && converted == strlen (str)) { + return(utf8); + } else if (utf8) { + g_free(utf8); + } + utf8 = g_convert(str, -1, "UTF-8", "ISO-8859-15", &converted, NULL, NULL); + if (utf8 && converted == strlen (str)) { + return(utf8); + } else if (utf8) { + g_free(utf8); + } + return(NULL); +}
