diff options
author | C. McEnroe | 2020-04-06 16:09:49 -0400 |
---|---|---|
committer | C. McEnroe | 2020-04-06 16:09:49 -0400 |
commit | 151739e8dafc74b35095ce1126cf0ab90bc5058b (patch) | |
tree | a58217067d3d6470b3ff614bab0ff8ea782d3779 | |
parent | c6a212b6659e258de9d520e5f47aa0f6e60be443 (diff) |
Op, deop self on /op, /deop without params
-rw-r--r-- | command.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/command.c b/command.c index ca8dfa3..91e2d66 100644 --- a/command.c +++ b/command.c @@ -197,9 +197,9 @@ static void commandMode(uint id, char *params) { } } -static void channelListMode(uint id, char pm, char l, char *params) { +static void channelListMode(uint id, char pm, char l, const char *params) { int count = 1; - for (char *ch = params; *ch; ++ch) { + for (const char *ch = params; *ch; ++ch) { if (*ch == ' ') count++; } char modes[ParamCap - 2] = { l, l, l, l, l, l, l, l, l, l, l, l, l }; @@ -207,13 +207,15 @@ static void channelListMode(uint id, char pm, char l, char *params) { } static void commandOp(uint id, char *params) { - if (!params) return; - channelListMode(id, '+', 'o', params); + if (params) { + channelListMode(id, '+', 'o', params); + } else { + ircFormat("PRIVMSG ChanServ :OP %s\r\n", idNames[id]); + } } static void commandDeop(uint id, char *params) { - if (!params) return; - channelListMode(id, '-', 'o', params); + channelListMode(id, '-', 'o', (params ?: self.nick)); } static void commandVoice(uint id, char *params) { |