Mercurial > pidgin.yaz
diff src/util.c @ 2039:859e9c2c5813
[gaim-migrate @ 2049]
utf8
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Sat, 16 Jun 2001 19:16:25 +0000 |
parents | 9a2e3902658c |
children | d5033540df18 |
line wrap: on
line diff
--- a/src/util.c Sat Jun 16 17:55:57 2001 +0000 +++ b/src/util.c Sat Jun 16 19:16:25 2001 +0000 @@ -1560,10 +1560,50 @@ n += 5; } n++; - } - result[i] = '\0'; + } + result[i] = '\0'; + + return result; +} + +char *str_to_utf8(unsigned char *in) +{ + int n = 0,i = 0; + int inlen; + char *result = NULL; + + if (!in) + return NULL; + + inlen = strlen(in); + + result = g_malloc(inlen * 2 + 1); - return result; + while (n < inlen) { + long c = (long)in[n]; + if (c == 27) { + n += 2; + if (in[n] == 'x') + n++; + if (in[n] == '3') + n++; + n += 2; + continue; + } + if ((c == 0x0D) || (c == 0x0A)) { + n++; continue; + } + if (c < 128) + result[i++] = (char)c; + else { + result[i++] = (char)((c>>6)|192); + result[i++] = (char)((c&63)|128); + } + n++; + } + result[i] = '\0'; + + return result; } time_t get_time(int year, int month, int day, int hour, int min, int sec)