Mercurial > hg
changeset 321:59193965f2cb
Convert status messages to/from UTF-8
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Fri, 15 Jul 2005 19:12:50 +0100 |
parents | dce1dd4d0ca8 |
children | da138cdebf04 |
files | mcabber/src/jabglue.c |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/src/jabglue.c Fri Jul 15 18:55:27 2005 +0100 +++ b/mcabber/src/jabglue.c Fri Jul 15 19:12:50 2005 +0100 @@ -250,6 +250,7 @@ void jb_setstatus(enum imstatus st, const char *msg) { xmlnode x; + char *utf8_msg; if (!online) return; @@ -298,11 +299,13 @@ if (!msg) msg = settings_get_status_msg(st); - xmlnode_insert_cdata(xmlnode_insert_tag(x, "status"), msg, + utf8_msg = utf8_encode(msg); + xmlnode_insert_cdata(xmlnode_insert_tag(x, "status"), utf8_msg, (unsigned) -1); jab_send(jc, x); xmlnode_free(x); + free(utf8_msg); //sendvisibility(); ??? @@ -852,12 +855,11 @@ } } - if (type && !strcmp(type, "unavailable")) { + if (type && !strcmp(type, "unavailable")) ust = offline; - } if ((x = xmlnode_get_tag(packet->x, "status")) != NULL) - p = xmlnode_get_data(x); + p = utf8_decode(xmlnode_get_data(x)); else p = NULL; @@ -868,6 +870,7 @@ if ((ust != roster_getstatus(r)) || (p && (!m || strcmp(p, m)))) hk_statuschange(r, 0, ust, p); g_free(r); + if (p) free(p); break; case JPACKET_S10N: