From 2759d8f5d3be4c6102fa92e09469328ba97d213e Mon Sep 17 00:00:00 2001 From: Daniel Oaks Date: Tue, 26 Sep 2017 07:58:17 +1000 Subject: [PATCH] modes: Allow 'MODE b' (used by irssi for channel sync) (thanks @dx!) --- irc/modes.go | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/irc/modes.go b/irc/modes.go index 457d1ee7..4f417a66 100644 --- a/irc/modes.go +++ b/irc/modes.go @@ -224,16 +224,10 @@ func ParseUserModeChanges(params ...string) (ModeChanges, map[rune]bool) { changes := make(ModeChanges, 0) unknown := make(map[rune]bool) + op := List + if 0 < len(params) { modeArg := params[0] - op := ModeOp(modeArg[0]) - if (op == Add) || (op == Remove) { - modeArg = modeArg[1:] - } else { - unknown[rune(modeArg[0])] = true - return changes, unknown - } - skipArgs := 1 for _, mode := range modeArg { @@ -408,19 +402,10 @@ func ParseChannelModeChanges(params ...string) (ModeChanges, map[rune]bool) { changes := make(ModeChanges, 0) unknown := make(map[rune]bool) + op := List + if 0 < len(params) { modeArg := params[0] - if len(modeArg) == 0 { - return changes, unknown - } - op := ModeOp(modeArg[0]) - if (op == Add) || (op == Remove) { - modeArg = modeArg[1:] - } else { - unknown[rune(modeArg[0])] = true - return changes, unknown - } - skipArgs := 1 for _, mode := range modeArg {