/* Display user's current mode string */
user->WriteNumeric(RPL_UMODEIS, "%s :+%s",targetuser->nick.c_str(),targetuser->FormatModes());
if ((targetuser->IsOper()))
- user->WriteNumeric(RPL_SNOMASKIS, "%s +%s :Server notice mask", targetuser->nick.c_str(), targetuser->FormatNoticeMasks().c_str());
+ {
+ ModeHandler* snomask = FindMode('s', MODETYPE_USER);
+ user->WriteNumeric(RPL_SNOMASKIS, "%s %s :Server notice mask", targetuser->nick.c_str(), snomask->GetUserParameter(user).c_str());
+ }
return;
}
else
else
targetuser->WriteFrom(user, "MODE " + LastParse);
- FOREACH_MOD(I_OnMode,OnMode(user, targetuser, targetchannel, LastParseParams, LastParseTranslate));
+ FOREACH_MOD(OnMode, (user, targetuser, targetchannel, LastParseParams, LastParseTranslate));
}
else if (targetchannel && parameters.size() == 2)
{
/* Clear mode handler list */
memset(modehandlers, 0, sizeof(modehandlers));
- /* Last parse string */
- LastParse.clear();
-
seq = 0;
memset(&sent, 0, sizeof(sent));
}