Mercurial > hg
changeset 1648:63d8473df2c3
Fix encoding issues in room command
* /room join
* /room nick
* /room privmsg
author | Myhailo Danylenko <isbear@ukrpost.net> |
---|---|
date | Mon, 16 Nov 2009 19:26:41 +0200 |
parents | cfa1fff86f78 |
children | 44bbdc961234 |
files | mcabber/src/commands.c |
diffstat | 1 files changed, 8 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/src/commands.c Wed Nov 04 22:24:05 2009 +0100 +++ b/mcabber/src/commands.c Mon Nov 16 19:26:41 2009 +0200 @@ -2338,9 +2338,8 @@ return; } else { // The room id has been specified. Let's convert it and use it. - roomname_tmp = to_utf8(roomname); - mc_strtolower(roomname_tmp); - roomname = roomname_tmp; + mc_strtolower(roomname); + roomname = roomname_tmp = to_utf8(roomname); } // If no nickname is provided with the /join command, @@ -2613,17 +2612,9 @@ else scr_LogPrint(LPRINT_NORMAL, "You have no nickname in this room."); } else { - gchar *roomname, *roomname_tmp, *nick; - roomname_tmp = g_strdup(buddy_getjid(bud)); - mc_strtolower(roomname_tmp); - roomname = to_utf8(roomname_tmp); - g_free(roomname_tmp); - - nick = to_utf8(arg); + gchar *nick = to_utf8(arg); strip_arg_special_chars(nick); - - xmpp_room_join(roomname, nick, NULL); - g_free(roomname); + xmpp_room_join(buddy_getjid(bud), nick, NULL); g_free(nick); } } @@ -2631,7 +2622,7 @@ static void room_privmsg(gpointer bud, char *arg) { char **paramlst; - gchar *fjid, *nick, *fjid_utf8, *msg; + gchar *fjid_utf8, *nick, *nick_utf8, *msg; paramlst = split_arg(arg, 2, 1); // nickname, message nick = *paramlst; @@ -2644,11 +2635,11 @@ return; } - fjid = g_strdup_printf("%s/%s", buddy_getjid(bud), nick); - fjid_utf8 = to_utf8(fjid); + nick_utf8 = to_utf8(nick); + fjid_utf8 = g_strdup_printf("%s/%s", buddy_getjid(bud), nick_utf8); + g_free (nick_utf8); msg = to_utf8(arg); send_message_to(fjid_utf8, msg, NULL, LM_MESSAGE_SUB_TYPE_NOT_SET, FALSE); - g_free(fjid); g_free(fjid_utf8); g_free(msg); free_arg_lst(paramlst);