Mercurial > pidgin
changeset 22436:d0675c9e0eaa
merge of '1aa8a701c81527c4f91549a4546a54262fccce6d'
and '91af0bfbaeb9c7439d242dc7783d2c5e10cf7572'
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Fri, 07 Mar 2008 16:56:02 +0000 |
parents | 7b4d39ffd563 (diff) 77737a3526f1 (current diff) |
children | ca6bc025aabb 7a7cb6b8fdce e04a69cf1d8e |
files | |
diffstat | 4 files changed, 19 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri Mar 07 16:51:36 2008 +0000 +++ b/ChangeLog Fri Mar 07 16:56:02 2008 +0000 @@ -1,5 +1,11 @@ Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul +version 2.4.1 (): + libpurple + * Treat AIM Unicode messages as UTF-16 rather than UCS-2; this + should have no functional effect, other than continued support + on systems which have dropped UCS-2 conversions. + version 2.4.0 (02/29/2008): libpurple: * Added support for offline messages for AIM accounts (thanks to
--- a/libpurple/protocols/oscar/family_locate.c Fri Mar 07 16:51:36 2008 +0000 +++ b/libpurple/protocols/oscar/family_locate.c Fri Mar 07 16:56:02 2008 +0000 @@ -1031,7 +1031,7 @@ * restricted to a few choices. I am currently aware of: * * us-ascii Just that - * unicode-2-0 UCS2-BE + * unicode-2-0 UTF-16BE * * profile_len and awaymsg_len MUST be set similarly, and they MUST * be the length of their respective strings in bytes.
--- a/libpurple/protocols/oscar/oscar.c Fri Mar 07 16:51:36 2008 +0000 +++ b/libpurple/protocols/oscar/oscar.c Fri Mar 07 16:56:02 2008 +0000 @@ -245,7 +245,7 @@ } /* - * Must we send this message as UNICODE (in the UCS-2BE encoding)? + * Must we send this message as UNICODE (in the UTF-16BE encoding)? */ while (utf8[i]) { @@ -314,14 +314,14 @@ } else if (!g_ascii_strcasecmp(encoding, "unicode-2-0")) { /* Some official ICQ clients are apparently total crack, * and have been known to save a UTF-8 string converted - * from the locale character set to UCS-2 (not from UTF-8 - * to UCS-2!) in the away message. This hack should find + * from the locale character set to UTF-16 (not from UTF-8 + * to UTF-16!) in the away message. This hack should find * and do something (un)reasonable with that, and not * mess up too much else. */ const gchar *charset = purple_account_get_string(account, "encoding", NULL); if (charset) { gsize len; - utf8 = g_convert(text, textlen, charset, "UCS-2BE", &len, NULL, NULL); + utf8 = g_convert(text, textlen, charset, "UTF-16BE", &len, NULL, NULL); if (!utf8 || len != textlen || !g_utf8_validate(utf8, -1, NULL)) { g_free(utf8); utf8 = NULL; @@ -330,7 +330,7 @@ } } if (!utf8) - utf8 = g_convert(text, textlen, "UTF-8", "UCS-2BE", NULL, NULL, NULL); + utf8 = g_convert(text, textlen, "UTF-8", "UTF-16BE", NULL, NULL, NULL); } else if (g_ascii_strcasecmp(encoding, "utf-8")) { purple_debug_warning("oscar", "Unrecognized character encoding \"%s\", " "attempting to convert to UTF-8 anyway\n", encoding); @@ -423,7 +423,7 @@ return NULL; if (charset == AIM_CHARSET_UNICODE) { - charsetstr1 = "UCS-2BE"; + charsetstr1 = "UTF-16BE"; charsetstr2 = "UTF-8"; } else if (charset == AIM_CHARSET_CUSTOM) { if ((sourcesn != NULL) && aim_snvalid_icq(sourcesn)) @@ -495,7 +495,7 @@ * If we're sending to an ICQ user, and they are in our * buddy list, and they are advertising the Unicode * capability, and they are online, then attempt to send - * as UCS-2BE. + * as UTF-16BE. */ if ((destsn != NULL) && aim_snvalid_icq(destsn)) userinfo = aim_locate_finduserinfo(od, destsn); @@ -506,7 +506,7 @@ b = purple_find_buddy(account, destsn); if ((b != NULL) && (PURPLE_BUDDY_IS_ONLINE(b))) { - *msg = g_convert(from, -1, "UCS-2BE", "UTF-8", NULL, &msglen, NULL); + *msg = g_convert(from, -1, "UTF-16BE", "UTF-8", NULL, &msglen, NULL); if (*msg != NULL) { *charset = AIM_CHARSET_UNICODE; @@ -538,9 +538,9 @@ } /* - * Nothing else worked, so send as UCS-2BE. + * Nothing else worked, so send as UTF-16BE. */ - *msg = g_convert(from, -1, "UCS-2BE", "UTF-8", NULL, &msglen, &err); + *msg = g_convert(from, -1, "UTF-16BE", "UTF-8", NULL, &msglen, &err); if (*msg != NULL) { *charset = AIM_CHARSET_UNICODE; *charsubset = 0x0000; @@ -4436,7 +4436,7 @@ charset = oscar_charset_check(str); if (charset == AIM_CHARSET_UNICODE) { - encoded = g_convert(str, -1, "UCS-2BE", "UTF-8", NULL, ret_len, NULL); + encoded = g_convert(str, -1, "UTF-16BE", "UTF-8", NULL, ret_len, NULL); *encoding = "unicode-2-0"; } else if (charset == AIM_CHARSET_CUSTOM) { encoded = g_convert(str, -1, "ISO-8859-1", "UTF-8", NULL, ret_len, NULL);
--- a/libpurple/protocols/oscar/oscar.h Fri Mar 07 16:51:36 2008 +0000 +++ b/libpurple/protocols/oscar/oscar.h Fri Mar 07 16:56:02 2008 +0000 @@ -754,7 +754,7 @@ #define AIM_IMFLAGS_TYPINGNOT 0x1000 /* typing notification */ #define AIM_CHARSET_ASCII 0x0000 -#define AIM_CHARSET_UNICODE 0x0002 /* UCS-2BE */ +#define AIM_CHARSET_UNICODE 0x0002 /* UTF-16BE */ #define AIM_CHARSET_CUSTOM 0x0003 /*