Added jid autocomplete for affiliation commands

This commit is contained in:
James Booth
2014-10-06 22:59:25 +01:00
parent 965f048b18
commit 78a1556f12
11 changed files with 174 additions and 19 deletions

View File

@@ -717,11 +717,18 @@ _muc_user_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
// kicked from room
} else if (g_slist_find_custom(status_codes, "307", (GCompareFunc)g_strcmp0) != NULL) {
char *actor = stanza_get_kick_actor(stanza);
char *reason = stanza_get_kick_reason(stanza);
char *actor = stanza_get_kickban_actor(stanza);
char *reason = stanza_get_kickban_reason(stanza);
handle_room_kicked(from_room, actor, reason);
free(reason);
// banned from room
} else if (g_slist_find_custom(status_codes, "301", (GCompareFunc)g_strcmp0) != NULL) {
char *actor = stanza_get_kickban_actor(stanza);
char *reason = stanza_get_kickban_reason(stanza);
handle_room_banned(from_room, actor, reason);
free(reason);
// normal exit
} else {
handle_leave_room(from_room);
@@ -783,11 +790,18 @@ _muc_user_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
// kicked from room
if (g_slist_find_custom(status_codes, "307", (GCompareFunc)g_strcmp0) != NULL) {
char *actor = stanza_get_kick_actor(stanza);
char *reason = stanza_get_kick_reason(stanza);
char *actor = stanza_get_kickban_actor(stanza);
char *reason = stanza_get_kickban_reason(stanza);
handle_room_occupent_kicked(from_room, from_nick, actor, reason);
free(reason);
// banned from room
} else if (g_slist_find_custom(status_codes, "301", (GCompareFunc)g_strcmp0) != NULL) {
char *actor = stanza_get_kickban_actor(stanza);
char *reason = stanza_get_kickban_reason(stanza);
handle_room_occupent_banned(from_room, from_nick, actor, reason);
free(reason);
// normal exit
} else {
handle_room_member_offline(from_room, from_nick, "offline", status_str);