diff --git a/src/irc/core/modes.c b/src/irc/core/modes.c index 37f724fa..794aff7d 100644 --- a/src/irc/core/modes.c +++ b/src/irc/core/modes.c @@ -250,6 +250,7 @@ void parse_channel_modes(IRC_CHANNEL_REC *channel, const char *setby, break; case 'o': + case 'O': /* channel owner in !channels */ if (g_strcasecmp(channel->server->nick, arg) == 0) channel->chanop = type == '+'; nick_mode_change(channel, arg, '@', type); diff --git a/src/irc/core/modes.h b/src/irc/core/modes.h index 2f007ec4..edb2c9e6 100644 --- a/src/irc/core/modes.h +++ b/src/irc/core/modes.h @@ -6,8 +6,8 @@ /* modes that have argument always */ #define HAS_MODE_ARG_ALWAYS(mode) \ - ((mode) == 'b' || (mode) == 'e' || (mode) == 'I' || \ - (mode) == 'o' || (mode) == 'h' || (mode) == 'v' || (mode) == 'k') + ((mode) == 'b' || (mode) == 'e' || (mode) == 'I' || (mode) == 'k' || \ + (mode) == 'o' || (mode) == 'h' || (mode) == 'v' || (mode) == 'O') /* modes that have argument when being set (+) */ #define HAS_MODE_ARG_SET(mode) \