diff options
author | James Booth <boothj5@gmail.com> | 2014-03-08 21:10:23 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2014-03-08 21:10:23 +0000 |
commit | dd1ee18c72268839de8af64de5eb07c5a2499ff2 (patch) | |
tree | 6fab72178d19c201d2b73b5d503291cc2e423988 /src | |
parent | e9b5d3294b3ccb8e5fb97e1a6e1d129631a72caa (diff) | |
download | profani-tty-dd1ee18c72268839de8af64de5eb07c5a2499ff2.tar.gz |
Added test for /join with nick option
Diffstat (limited to 'src')
-rw-r--r-- | src/command/commands.c | 4 | ||||
-rw-r--r-- | src/ui/core.c | 6 | ||||
-rw-r--r-- | src/ui/ui.h | 2 | ||||
-rw-r--r-- | src/xmpp/bookmark.c | 4 | ||||
-rw-r--r-- | src/xmpp/presence.c | 6 | ||||
-rw-r--r-- | src/xmpp/xmpp.h | 2 |
6 files changed, 12 insertions, 12 deletions
diff --git a/src/command/commands.c b/src/command/commands.c index 7738e7f2..e6d575f5 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -1659,9 +1659,9 @@ cmd_join(gchar **args, struct cmd_help_t help) Jid *room_jid = jid_create_from_bare_and_resource(room, nick); if (!muc_room_is_active(room_jid)) { - presence_join_room(room_jid, passwd); + presence_join_room(room, nick, passwd); } - ui_room_join(room_jid); + ui_room_join(room); muc_remove_invite(room); jid_destroy(room_arg); diff --git a/src/ui/core.c b/src/ui/core.c index 740e5f6f..ef8ace73 100644 --- a/src/ui/core.c +++ b/src/ui/core.c @@ -1083,14 +1083,14 @@ _ui_outgoing_msg(const char * const from, const char * const to, } static void -_ui_room_join(Jid *jid) +_ui_room_join(char *room) { - ProfWin *window = wins_get_by_recipient(jid->barejid); + ProfWin *window = wins_get_by_recipient(room); int num = 0; // create new window if (window == NULL) { - window = wins_new(jid->barejid, WIN_MUC); + window = wins_new(room, WIN_MUC); } num = wins_get_num(window); diff --git a/src/ui/ui.h b/src/ui/ui.h index 77d081ab..16657564 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -103,7 +103,7 @@ void (*ui_disconnected)(void); void (*ui_recipient_gone)(const char * const barejid); void (*ui_outgoing_msg)(const char * const from, const char * const to, const char * const message); -void (*ui_room_join)(Jid *jid); +void (*ui_room_join)(char *room); void (*ui_room_roster)(const char * const room, GList *roster, const char * const presence); void (*ui_room_history)(const char * const room_jid, const char * const nick, GTimeVal tv_stamp, const char * const message); diff --git a/src/xmpp/bookmark.c b/src/xmpp/bookmark.c index 27a768be..5c27e2cf 100644 --- a/src/xmpp/bookmark.c +++ b/src/xmpp/bookmark.c @@ -301,9 +301,9 @@ _bookmark_handle_result(xmpp_conn_t * const conn, log_debug("Autojoin %s with nick=%s", jid, name); room_jid = jid_create_from_bare_and_resource(jid, name); if (!muc_room_is_active(room_jid)) { - presence_join_room(room_jid, NULL); + presence_join_room(jid, name, NULL); /* TODO: this should be removed after fixing #195 */ - ui_room_join(room_jid); + ui_room_join(jid); } jid_destroy(room_jid); } else { diff --git a/src/xmpp/presence.c b/src/xmpp/presence.c index 3098e6e4..74fff27a 100644 --- a/src/xmpp/presence.c +++ b/src/xmpp/presence.c @@ -260,10 +260,9 @@ _send_room_presence(xmpp_conn_t *conn, xmpp_stanza_t *presence) } static void -_presence_join_room(Jid *jid, char * passwd) +_presence_join_room(char *room, char *nick, char * passwd) { - assert(jid != NULL); - assert(jid->fulljid != NULL); + Jid *jid = jid_create_from_bare_and_resource(room, nick); log_debug("Sending room join presence to: %s", jid->fulljid); xmpp_ctx_t *ctx = connection_get_ctx(); @@ -285,6 +284,7 @@ _presence_join_room(Jid *jid, char * passwd) xmpp_stanza_release(presence); muc_join_room(jid->barejid, jid->resourcepart); + jid_destroy(jid); } static void diff --git a/src/xmpp/xmpp.h b/src/xmpp/xmpp.h index 3ef9c93c..c8feb68e 100644 --- a/src/xmpp/xmpp.h +++ b/src/xmpp/xmpp.h @@ -114,7 +114,7 @@ GSList* (*presence_get_subscription_requests)(void); gint (*presence_sub_request_count)(void); void (*presence_reset_sub_request_search)(void); char * (*presence_sub_request_find)(char * search_str); -void (*presence_join_room)(Jid *jid, char * passwd); +void (*presence_join_room)(char *room, char *nick, char * passwd); void (*presence_change_room_nick)(const char * const room, const char * const nick); void (*presence_leave_chat_room)(const char * const room_jid); void (*presence_update)(resource_presence_t status, const char * const msg, |