diff options
Diffstat (limited to 'src/protocol/inspircd.c')
| -rw-r--r-- | src/protocol/inspircd.c | 10 |
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 '+': |
