summary refs log tree commit diff
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) {
1c2a1ce9178785b1cca126a1cf1f54b6c0274&follow=1'>Add note about C-oJune McEnroe 2018-09-12Use formatParse split to position input cursorJune McEnroe 2018-09-12Factor out IRC formatting parsingJune McEnroe 2018-09-11Add /help equivalent to /manJune McEnroe 2018-09-11Don't render every PM as a pingJune McEnroe 2018-09-11Add urlOpenMatchJune McEnroe 2018-09-10Depend on man.sh for chroot.tar targetJune McEnroe 2018-09-10Set LESSSECURE=1 in man.shJune McEnroe 2018-09-10Add /man commandJune McEnroe 2018-09-10Install man page in chrootJune McEnroe 2018-09-10Install man pageJune McEnroe 2018-09-10Split keys into subsections and document colorsJune McEnroe 2018-09-10Add "blank" lines to chatte.1June McEnroe 2018-09-10Document key bindings in chatte.1June McEnroe 2018-09-08Document slash commands in chatte.1June McEnroe