kike: break out properly on errors in MODE processing

We used to only abort the inner loop, which was insufficient.
This commit is contained in:
Přemysl Eric Janouch 2018-08-01 09:21:37 +02:00
parent 3ca08badc2
commit 50ed74a740
Signed by: p
GPG Key ID: A0420B94F92B9493

3
kike.c
View File

@ -2006,10 +2006,11 @@ irc_handle_chan_mode_change
mode_processor_step (&p, '+'); mode_processor_step (&p, '+');
while (*mode_string) while (*mode_string)
if (!mode_processor_step (&p, *mode_string++)) if (!mode_processor_step (&p, *mode_string++))
break; goto done_processing;
} }
// TODO: limit to three changes with parameter per command // TODO: limit to three changes with parameter per command
done_processing:
if (p.added.len || p.removed.len) if (p.added.len || p.removed.len)
{ {
struct str message = str_make (); struct str message = str_make ();