}
if((uData = GetTrueChannelAccess(cData, user->handle_info)))
+ {
scan_user_presence(uData, user);
+ uData->seen = now;
+ }
if(IsHelping(user) && IsSupportHelper(user))
{
static void
handle_kick(struct userNode *kicker, struct userNode *victim, struct chanNode *channel)
{
+ struct userData *uData;
+
if(!channel->channel_info || !kicker || IsService(kicker)
|| (kicker == victim) || IsSuspended(channel->channel_info)
|| (kicker->handle_info && kicker->handle_info == victim->handle_info))
const char *reason = user_find_message(kicker, "CSMSG_USER_PROTECTED");
KickChannelUser(kicker, channel, chanserv, reason);
}
+
+ if((uData = GetTrueChannelAccess(channel->channel_info, victim->handle_info)))
+ uData->seen = now;
}
static int
&& mode_lock_violated(&channel->channel_info->modes, change))
{
char correct[MAXLEN];
- bounce = mod_chanmode_alloc(change->argc + 1);
- *bounce = channel->channel_info->modes;
+ bounce = mod_chanmode_dup(&channel->channel_info->modes, change->argc + 1);
mod_chanmode_format(&channel->channel_info->modes, correct);
send_message(user, chanserv, "CSMSG_MODE_LOCKED", correct, channel->name);
}