Commit Diff


commit - 6685ae063f4e7dd75346cf50cff84c8c109e2d6b
commit + 8ae2cdfce9f8ba75fe72d65603d4c05c87f6d9c2
blob - a29ed2387fe64b1274c9636ebee70724e9e10fb7
blob + a59f085d7f6d4fb9434a07dc7266368bee0240b7
--- src/ngircd/irc-mode.c
+++ src/ngircd/irc-mode.c
@@ -582,9 +582,13 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Ori
 				goto chan_exit;
 			if (!set) {
 				if (is_oper || is_machine || is_owner ||
-				    is_admin || is_op || is_halfop)
+				    is_admin || is_op || is_halfop) {
 					x[0] = *mode_ptr;
-				else
+					if (Channel_HasMode(Channel, 'k'))
+						strlcpy(argadd, "*", sizeof(argadd));
+					if (arg_arg > mode_arg)
+						arg_arg++;
+				} else
 					connected = IRC_WriteErrClient(Origin,
 						ERR_CHANOPRIVSNEEDED_MSG,
 						Client_ID(Origin),