Mercurial > pidgin
changeset 4665:818ee615b025
[gaim-migrate @ 4976]
This makes Japanese work perfectly for me between Gaim and ICQ 2003a. I
tried to figure out why ICQ Lite sucks so much, and from what I can tell,
it looks like the Japanese version of ICQ lite doesn't know how to send
messages in Japanese.
So if you need foreign language support with ICQ, make sure the person
you're talking to is using ICQ2003a. It should work.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Fri, 07 Mar 2003 18:20:47 +0000 |
parents | eab1309693b8 |
children | f8895ad921ee |
files | src/protocols/oscar/oscar.c |
diffstat | 1 files changed, 11 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/protocols/oscar/oscar.c Fri Mar 07 07:36:11 2003 +0000 +++ b/src/protocols/oscar/oscar.c Fri Mar 07 18:20:47 2003 +0000 @@ -99,7 +99,8 @@ /* static int caps_icq = AIM_CAPS_ICQ; */ /* What does AIM_CAPS_ICQ actually mean? -SE */ -static fu8_t gaim_features[] = {0x01, 0x01, 0x01, 0x02}; +static fu8_t features_aim[] = {0x01, 0x01, 0x01, 0x02}; +static fu8_t features_icq[] = {0x01, 0x06}; struct oscar_data { aim_session_t *sess; @@ -3841,11 +3842,14 @@ int len; args.flags = AIM_IMFLAGS_ACK | AIM_IMFLAGS_CUSTOMFEATURES; - if (od->icq) + if (od->icq) { + args.features = features_icq; + args.featureslen = sizeof(features_icq); args.flags |= AIM_IMFLAGS_OFFLINE; - - args.features = gaim_features; - args.featureslen = sizeof(gaim_features); + } else { + args.features = features_aim; + args.featureslen = sizeof(features_aim); + } while (h) { ir = h->data; @@ -3884,7 +3888,7 @@ if (args.flags & AIM_IMFLAGS_UNICODE) { debug_printf("Sending Unicode IM\n"); args.charset = 0x0002; - args.charsubset = 0x0002; + args.charsubset = 0x0000; args.msg = g_convert(message, len, "UCS-2BE", "UTF-8", NULL, &len, &err); if (err) { debug_printf("Error converting a unicode message: %s\n", err->message); @@ -3895,7 +3899,7 @@ } else if (args.flags & AIM_IMFLAGS_ISO_8859_1) { debug_printf("Sending ISO-8859-1 IM\n"); args.charset = 0x0003; - args.charsubset = 0x0003; + args.charsubset = 0x0000; args.msg = g_convert(message, len, "ISO-8859-1", "UTF-8", NULL, &len, &err); if (err) { debug_printf("conversion error: %s\n", err->message);