/** Send a (prefixed) command to all users on this channel, except for
* \a one and those matching \a skip.
/** Send a (prefixed) command to all users on this channel, except for
* \a one and those matching \a skip.
* @param[in] from Client originating the command.
* @param[in] cmd Long name of command.
* @param[in] tok Short name of command.
* @param[in] from Client originating the command.
* @param[in] cmd Long name of command.
* @param[in] tok Short name of command.
* @param[in] from Source of the command.
* @param[in] type One of WALL_DESYNCH, WALL_WALLOPS or WALL_WALLUSERS.
* @param[in] one Client direction to skip (or NULL).
* @param[in] from Source of the command.
* @param[in] type One of WALL_DESYNCH, WALL_WALLOPS or WALL_WALLUSERS.
* @param[in] one Client direction to skip (or NULL).
for (i = 0; i <= HighestFd; i++)
{
if (!(cptr = LocalClientArray[i]) ||
(cli_fd(cli_from(cptr)) < 0) ||
for (i = 0; i <= HighestFd; i++)
{
if (!(cptr = LocalClientArray[i]) ||
(cli_fd(cli_from(cptr)) < 0) ||
- (!HasFlag(cptr, FLAG_WALLOP) || (feature_bool(FEAT_HIS_WALLOPS) &&
- !IsAnOper(cptr)))) ||
- (type == WALL_WALLUSERS && !HasFlag(cptr, FLAG_WALLOP)))
+ (!SendWallops(cptr) || (his_wallops && !IsAnOper(cptr)))) ||
+ (type == WALL_WALLUSERS && !SendWallops(cptr)))
* @param[in] from Source of the command.
* @param[in] cmd Long name of command.
* @param[in] tok Short name of command.
* @param[in] from Source of the command.
* @param[in] cmd Long name of command.
* @param[in] tok Short name of command.
- if (!IsRegistered(cptr) || IsServer(cptr) ||
- !match_it(from, cptr, to, who) || cli_fd(cli_from(cptr)) < 0 ||
- cli_sentalong(cptr) == sentalong_marker)
+ if (!IsRegistered(cptr) || IsServer(cptr) || cli_fd(cli_from(cptr)) < 0 ||
+ cli_sentalong(cptr) == sentalong_marker ||
+ !match_it(from, cptr, to, who))