summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--command.c14
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) {