projects
/
srvx.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bug fixes (from code coverage tests)
[srvx.git]
/
src
/
proto-common.c
diff --git
a/src/proto-common.c
b/src/proto-common.c
index d5ebc8ac4a55e42409efec447cd77da134b6aa6c..93751e39d59ef7caa1e823f9dc793483e038c35f 100644
(file)
--- a/
src/proto-common.c
+++ b/
src/proto-common.c
@@
-578,13
+578,20
@@
mod_chanmode_apply(struct userNode *who, struct chanNode *channel, struct mod_ch
break;
}
break;
break;
}
break;
- default:
- assert((change->args[ii].mode & (MODE_REMOVE|MODE_CHANOP|MODE_VOICE)) != 0);
+ case MODE_CHANOP:
+ case MODE_VOICE:
+ case MODE_VOICE|MODE_CHANOP:
+ case MODE_REMOVE|MODE_CHANOP:
+ case MODE_REMOVE|MODE_VOICE:
+ case MODE_REMOVE|MODE_VOICE|MODE_CHANOP:
if (change->args[ii].mode & MODE_REMOVE)
change->args[ii].member->modes &= ~change->args[ii].mode;
else
change->args[ii].member->modes |= change->args[ii].mode;
break;
if (change->args[ii].mode & MODE_REMOVE)
change->args[ii].member->modes &= ~change->args[ii].mode;
else
change->args[ii].member->modes |= change->args[ii].mode;
break;
+ default:
+ assert(0 && "Invalid mode argument");
+ continue;
}
}
}
}
}
}