# HG changeset patch # User Mikael Berthe # Date 1121611207 -3600 # Node ID 53dfe6aa6a235fec46db820060df9e8fef97644c # Parent 1bc374915787764081fcb05fc846d05dcfe8fad9 Fix previous fix... :-( diff -r 1bc374915787 -r 53dfe6aa6a23 mcabber/src/utf8.c --- 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); } }