Mercurial > hg
changeset 327:53dfe6aa6a23
Fix previous fix... :-(
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 17 Jul 2005 15:40:07 +0100 |
parents | 1bc374915787 |
children | 83d129adde03 |
files | mcabber/src/utf8.c |
diffstat | 1 files changed, 10 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/src/utf8.c Sun Jul 17 15:35:09 2005 +0100 +++ b/mcabber/src/utf8.c Sun Jul 17 15:40:07 2005 +0100 @@ -13,21 +13,21 @@ */ char *utf8_decode(const char *src) { - unsigned char *ret; + unsigned char *ret, *aux; if (!src) return NULL; - ret = calloc(1, strlen(src) + 1); + aux = ret = calloc(1, strlen(src) + 1); while (*src) { unsigned char lead = *src++; if ((lead & 0xe0) == 0xc0) { unsigned char ch2 = *src++; - *ret = ((lead & 0x1f) << 6) | (ch2 & 0x3f); + *aux = ((lead & 0x1f) << 6) | (ch2 & 0x3f); } else { - *ret = lead; + *aux = lead; } - ret++; + aux++; } return (char*)ret; @@ -43,19 +43,19 @@ */ char *utf8_encode(const char *src) { - unsigned char *ret; + unsigned char *ret, *aux; if (!src) return NULL; - ret = calloc(1, (strlen(src) * 2) + 1); + aux = ret = calloc(1, (strlen(src) * 2) + 1); while (*src) { unsigned char ch = *src++; if (ch < 0x80U) { - *ret++ = ch; + *aux++ = ch; } else { /* if (ch < 0x800U) { */ - *ret++ = 0xc0 | (ch >> 6); - *ret++ = 0x80 | (ch & 0x3f); + *aux++ = 0xc0 | (ch >> 6); + *aux++ = 0x80 | (ch & 0x3f); } }