# HG changeset patch # User Paul Aurich # Date 1310879287 0 # Node ID bcf0b8ba1a79fc631889adc7e6aaee307d1fd939 # Parent 6f503dcd843e2b50bfbd8d2f786bd28288cfecee jabber: Fix /join behavior. Closes #14205. Also marked a string for translation. "/join foo" fails because 'foo' passes nameprep. diff -r 6f503dcd843e -r bcf0b8ba1a79 ChangeLog --- a/ChangeLog Sun Jul 17 04:03:42 2011 +0000 +++ b/ChangeLog Sun Jul 17 05:08:07 2011 +0000 @@ -23,6 +23,8 @@ XMPP: * Do not generate malformed XML ("") when setting an empty mood. (#14342) + * Fix the /join behavior. (Broken when adding support for + @) (#14205) version 2.9.0 (06/23/2011): Pidgin: diff -r 6f503dcd843e -r bcf0b8ba1a79 libpurple/protocols/jabber/jabber.c --- a/libpurple/protocols/jabber/jabber.c Sun Jul 17 04:03:42 2011 +0000 +++ b/libpurple/protocols/jabber/jabber.c Sun Jul 17 05:08:07 2011 +0000 @@ -3009,7 +3009,7 @@ { JabberChat *chat = jabber_chat_find_by_conv(conv); GHashTable *components; - JabberID *jid; + JabberID *jid = NULL; const char *room = NULL, *server = NULL, *handle = NULL; if (!chat || !args || !args[0]) @@ -3017,7 +3017,8 @@ components = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL); - jid = jabber_id_new(args[0]); + if (strchr(args[0], '@')) + jid = jabber_id_new(args[0]); if (jid) { room = jid->node; server = jid->domain; @@ -3673,8 +3674,7 @@ PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_PRPL_ONLY | PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS, "prpl-jabber", jabber_cmd_chat_join, - _("join: <room> [password]: Join a chat on this server."), - /* _("join: <room[@server]> [password]: Join a chat."), */ + _("join: <room[@server]> [password]: Join a chat."), NULL); commands = g_slist_prepend(commands, GUINT_TO_POINTER(id));