1
0
Fork 0
forked from External/ergo

avoid duplicate mode changes

This commit is contained in:
Jeremy Latt 2014-02-25 22:16:23 -08:00
parent 0d277025c1
commit 66f9b42125
3 changed files with 26 additions and 2 deletions

View file

@ -525,16 +525,25 @@ func (m *ModeCommand) HandleServer(s *Server) {
case Invisible, ServerNotice, WallOps:
switch change.op {
case Add:
if target.flags[change.mode] {
continue
}
target.flags[change.mode] = true
changes = append(changes, change)
case Remove:
if !target.flags[change.mode] {
continue
}
delete(target.flags, change.mode)
changes = append(changes, change)
}
case Operator, LocalOperator:
if change.op == Remove {
if !target.flags[change.mode] {
continue
}
delete(target.flags, change.mode)
changes = append(changes, change)
}