X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fngircd%2Firc-mode.c;h=a59f085d7f6d4fb9434a07dc7266368bee0240b7;hb=e73d70ce6fab3acdefe914520a4296acb6d50eac;hp=8e76db17084461f8c6c971bbd79b9858cd0c8c3e;hpb=48ea69d778279e7256a167e6f4147eb5766bbdda;p=ngircd-alex.git diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c index 8e76db17..a59f085d 100644 --- a/src/ngircd/irc-mode.c +++ b/src/ngircd/irc-mode.c @@ -357,7 +357,6 @@ Client_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CLIENT *Target ) Client_Modes(Target)); } - IRC_SetPenalty(Client, 1); return ok; } /* Client_Mode */ @@ -583,9 +582,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), @@ -918,7 +921,6 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel) } } - IRC_SetPenalty(Client, 1); return connected; } /* Channel_Mode */