degesch: clarify handling of unexpected JOINs
I got confused about safety.
This commit is contained in:
parent
49706efe86
commit
12c8ace6a1
10
degesch.c
10
degesch.c
|
@ -6569,8 +6569,12 @@ irc_handle_join (struct server *s, const struct irc_message *msg)
|
||||||
hard_assert (channel || !buffer);
|
hard_assert (channel || !buffer);
|
||||||
|
|
||||||
// We've joined a new channel
|
// 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 = buffer_new (s->ctx->input);
|
||||||
buffer->type = BUFFER_CHANNEL;
|
buffer->type = BUFFER_CHANNEL;
|
||||||
buffer->name = xstrdup_printf ("%s.%s", s->name, channel_name);
|
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);
|
irc_send (s, "MODE %s", channel_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is weird, ignoring
|
|
||||||
if (!channel)
|
|
||||||
return;
|
|
||||||
|
|
||||||
// Add the user to the channel
|
// Add the user to the channel
|
||||||
char *nickname = irc_cut_nickname (msg->prefix);
|
char *nickname = irc_cut_nickname (msg->prefix);
|
||||||
irc_channel_link_user (channel, irc_get_or_make_user (s, nickname), "");
|
irc_channel_link_user (channel, irc_get_or_make_user (s, nickname), "");
|
||||||
|
|
Loading…
Reference in New Issue