Op, deop self on /op, /deop without params

master
C. McEnroe 2020-04-06 16:09:49 -04:00
parent c6a212b665
commit 151739e8da
1 changed files with 8 additions and 6 deletions

View File

@ -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; int count = 1;
for (char *ch = params; *ch; ++ch) { for (const char *ch = params; *ch; ++ch) {
if (*ch == ' ') count++; if (*ch == ' ') count++;
} }
char modes[ParamCap - 2] = { l, l, l, l, l, l, l, l, l, l, l, l, l }; 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) { static void commandOp(uint id, char *params) {
if (!params) return; if (params) {
channelListMode(id, '+', 'o', params); channelListMode(id, '+', 'o', params);
} else {
ircFormat("PRIVMSG ChanServ :OP %s\r\n", idNames[id]);
}
} }
static void commandDeop(uint id, char *params) { static void commandDeop(uint id, char *params) {
if (!params) return; channelListMode(id, '-', 'o', (params ?: self.nick));
channelListMode(id, '-', 'o', params);
} }
static void commandVoice(uint id, char *params) { static void commandVoice(uint id, char *params) {