{ "CSMSG_WUT_RESPONSE", "wut" },
{ "CSMSG_BAD_NUMBER", "$b%s$b is an invalid number. Please use a number greater than 1 with this command." },
{ "CSMSG_BAD_DIE_FORMAT", "I do not understand $b%s$b. Please use either a single number or standard 4d6+3 format." },
- { "CSMSG_BAD_DICE_COUNT", "%d is too many dice. Please use at most %d." },
- { "CSMSG_DICE_ROLL", "The total is $b%d$b from rolling %dd%d+%d." },
- { "CSMSG_DIE_ROLL", "A $b%d$b shows on the %d-sided die." },
+ { "CSMSG_BAD_DICE_COUNT", "%lu is too many dice. Please use at most %lu." },
+ { "CSMSG_DICE_ROLL", "The total is $b%lu$b from rolling %lud%lu+%lu." },
+ { "CSMSG_DIE_ROLL", "A $b%lu$b shows on the %lu-sided die." },
{ "CSMSG_HUGGLES_HIM", "\001ACTION huggles %s\001" },
{ "CSMSG_HUGGLES_YOU", "\001ACTION huggles you\001" },
{
unsigned int level = 0, ii;
if(isdigit(name[0]))
- level = atoi(name);
+ level = strtoul(name, NULL, 10);
else for(ii = 0; (ii < ArrayLength(accessLevels)) && !level; ++ii)
if(!irccasecmp(name, accessLevels[ii].name))
level = accessLevels[ii].level;
targData = GetTrueChannelAccess(channel->channel_info, targ->handle_info);
if(!targData)
continue;
- if(pos + strlen(targ->nick) + strlen(targ->handle_info->handle) + 6 > sizeof(buf))
+ if(pos + strlen(targ->nick) + strlen(targ->handle_info->handle) + 8 > sizeof(buf))
{
buf[pos] = 0;
reply("CSMSG_CHANNEL_NAMES", channel->name, buf);
unsigned int matches, limit;
limit = (argc > 1) ? atoi(argv[1]) : 10;
- if(limit < 1 || limit > 200) limit = 10;
+ if(limit < 1 || limit > 200)
+ limit = 10;
memset(&discrim, 0, sizeof(discrim));
discrim.masks.bot = chanserv;
discrim.masks.channel_name = channel->name;
- if(argc > 2) discrim.masks.command = argv[2];
+ if(argc > 2)
+ discrim.masks.command = argv[2];
discrim.limit = limit;
discrim.max_time = INT_MAX;
discrim.severities = 1 << LOG_COMMAND;
if(!IsUserSuspended(channel)
&& IsUserAutoInvite(channel)
&& (channel->access >= channel->channel->lvlOpts[lvlInviteMe])
- && (cn->modes & (MODE_KEY | MODE_INVITEONLY))
&& !self->burst)
irc_invite(chanserv, user, cn);
continue;
bounce->args[bnc].member = change->args[ii].member;
bnc++;
}
- else if(change->args[ii].mode & MODE_BAN)
+ else if((change->args[ii].mode & (MODE_REMOVE | MODE_BAN)) == MODE_BAN)
{
const char *ban = change->args[ii].hostmask;
if(!bad_channel_ban(channel, user, ban, NULL, NULL))
dict_set_free_data(note_types, chanserv_deref_note_type);
if(nick)
{
- chanserv = AddService(nick, "Channel Services");
- service_register(chanserv, '!');
+ chanserv = AddService(nick, "Channel Services", NULL);
+ service_register(chanserv)->trigger = '!';
reg_chanmsg_func('\001', chanserv, chanserv_ctcp_check);
}
saxdb_register("ChanServ", chanserv_saxdb_read, chanserv_saxdb_write);