diff options
author | linuxdaemon <linuxdaemon@users.noreply.github.com> | 2019-01-30 18:46:13 -0600 |
---|---|---|
committer | Patrick <tingping@tingping.se> | 2019-01-30 19:46:13 -0500 |
commit | 804f959a1d0c9bfe88166a7541af4371460b468b (patch) | |
tree | 2772bc3c9c1a1f56fa8419434e0b6f280f0197ab /src/common/modes.c | |
parent | 7abeb10cf1f82fbad4d167f9e6f6918e1f47650b (diff) |
Remove : from various trailing parameters (#2301)
Partial fix for #2271 This isn't an exhaustive list, but it's everything I could find. The bug still exists in the parser though, this is just a workaround for the moment
Diffstat (limited to 'src/common/modes.c')
-rw-r--r-- | src/common/modes.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/common/modes.c b/src/common/modes.c index c65bf279..3c0ac8ab 100644 --- a/src/common/modes.c +++ b/src/common/modes.c @@ -735,6 +735,8 @@ handle_mode (server * serv, char *word[], char *word_eol[], if (!(*word[i + offset])) break; num_args++; + if (word[i + offset][0] == ':') + break; } /* count the number of modes (without the -/+ chars */ @@ -765,7 +767,7 @@ handle_mode (server * serv, char *word[], char *word_eol[], if ((all_modes_have_args || mode_has_arg (serv, sign, *modes)) && arg < (num_args + 1)) { arg++; - argstr = word[arg + offset]; + argstr = STRIP_COLON(word, word_eol, arg+offset); } handle_single_mode (&mr, sign, *modes, nick, chan, argstr, numeric_324 || prefs.hex_irc_raw_modes, |