degesch: clarify handling of unexpected JOINs

I got confused about safety.
This commit is contained in:
Přemysl Eric Janouch 2020-10-16 17:38:49 +02:00
parent 49706efe86
commit 12c8ace6a1
Signed by: p
GPG Key ID: A0420B94F92B9493

View File

@ -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), "");