summaryrefslogtreecommitdiff
path: root/src/protocol/inspircd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocol/inspircd.c')
-rw-r--r--src/protocol/inspircd.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/protocol/inspircd.c b/src/protocol/inspircd.c
index 58e5bf50a..babcedaf6 100644
--- a/src/protocol/inspircd.c
+++ b/src/protocol/inspircd.c
@@ -383,9 +383,13 @@ void inspircd_set_umode(User * user, int ac, char **av)
while (*modes) {
- add ? (user->mode |= umodes[(int) *modes]) : (user->mode &=
- ~umodes[(int)
- *modes]);
+ /* This looks better, much better than "add ? (do_add) : (do_remove)".
+ * At least this is readable without paying much attention :) -GD
+ */
+ if (add)
+ user->mode |= umodes[(int) *modes];
+ else
+ user->mode &= ~umodes[(int) *modes];
switch (*modes++) {
case '+':