summaryrefslogtreecommitdiff
path: root/src/core/chat-commands.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/chat-commands.c')
-rw-r--r--src/core/chat-commands.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/core/chat-commands.c b/src/core/chat-commands.c
index 4a7b41ce..72ac41e4 100644
--- a/src/core/chat-commands.c
+++ b/src/core/chat-commands.c
@@ -262,25 +262,25 @@ static void cmd_join(const char *data, SERVER_REC *server)
void *free_arg;
g_return_if_fail(data != NULL);
- if (!IS_SERVER(server) || !server->connected)
- cmd_return_error(CMDERR_NOT_CONNECTED);
if (!cmd_get_params(data, &free_arg, 1 | PARAM_FLAG_OPTIONS |
PARAM_FLAG_UNKNOWN_OPTIONS | PARAM_FLAG_GETREST,
"join", &optlist, &channels))
return;
+ /* -<server tag> */
+ server = cmd_options_get_server("join", optlist, server);
+ if (server == NULL || !server->connected)
+ cmd_param_error(CMDERR_NOT_CONNECTED);
+
if (g_hash_table_lookup(optlist, "invite"))
channels = server->last_invite;
else {
if (*channels == '\0')
cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);
-
- /* -<server tag> */
- server = cmd_options_get_server("join", optlist, server);
}
- if (server != NULL && channels != NULL)
+ if (channels != NULL)
server->channels_join(server, channels, FALSE);
cmd_params_free(free_arg);
}