diff --git a/degesch.c b/degesch.c index 66dd118..39d1430 100644 --- a/degesch.c +++ b/degesch.c @@ -6569,8 +6569,12 @@ irc_handle_join (struct server *s, const struct irc_message *msg) hard_assert (channel || !buffer); // We've joined a new channel - if (!channel && irc_is_this_us (s, msg->prefix)) + if (!channel) { + // This is weird, ignoring + if (!irc_is_this_us (s, msg->prefix)) + return; + buffer = buffer_new (s->ctx->input); buffer->type = BUFFER_CHANNEL; buffer->name = xstrdup_printf ("%s.%s", s->name, channel_name); @@ -6594,10 +6598,6 @@ irc_handle_join (struct server *s, const struct irc_message *msg) irc_send (s, "MODE %s", channel_name); } - // This is weird, ignoring - if (!channel) - return; - // Add the user to the channel char *nickname = irc_cut_nickname (msg->prefix); irc_channel_link_user (channel, irc_get_or_make_user (s, nickname), "");