]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/irc-mode.c
Remove imp.h and exp.h header files
[ngircd-alex.git] / src / ngircd / irc-mode.c
index a29ed2387fe64b1274c9636ebee70724e9e10fb7..b83c1eb49bc179119b278f75064737bc6f099b24 100644 (file)
@@ -16,7 +16,6 @@
  * IRC commands for mode changes (like MODE, AWAY, etc.)
  */
 
-#include "imp.h"
 #include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -33,7 +32,6 @@
 #include "messages.h"
 #include "conf.h"
 
-#include "exp.h"
 #include "irc-mode.h"
 
 static bool Client_Mode PARAMS((CLIENT *Client, REQUEST *Req, CLIENT *Origin,
@@ -582,9 +580,13 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
                                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),