X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodes%2Fcmode_s.cpp;h=800f9f6cb0e093aa9e1e9b9516cf3517f6f4259e;hb=e84bf9f3ec5a60078c32b272d3d7885c0708c544;hp=6a27dddfd08ae72c7544af893ebcdd7d80099b59;hpb=2d05d8bc330256252e22b8b8aede3504d8d4dca6;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modes/cmode_s.cpp b/src/modes/cmode_s.cpp index 6a27dddfd..800f9f6cb 100644 --- a/src/modes/cmode_s.cpp +++ b/src/modes/cmode_s.cpp @@ -4,12 +4,19 @@ #include "users.h" #include "modes/cmode_s.h" -ModeChannelSecret::ModeChannelSecret() : ModeHandler('s', 0, 0, 0, MODETYPE_CHANNEL, false) +ModeChannelSecret::ModeChannelSecret(InspIRCd* Instance) : ModeHandler(Instance, 's', 0, 0, false, MODETYPE_CHANNEL, false) { } ModeAction ModeChannelSecret::OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string ¶meter, bool adding) { - channel->modes[CM_SECRET] = adding; - return MODEACTION_ALLOW; + if (channel->modes[CM_SECRET] != adding) + { + channel->modes[CM_SECRET] = adding; + return MODEACTION_ALLOW; + } + else + { + return MODEACTION_DENY; + } }