}
}
+static int
+target_check_limit(struct Client *source_p, const char *nick)
+{
+ if (!MyClient(source_p))
+ {
+ return 0;
+ }
+
+ if (ntargets > 0 && source_p->localClient->firsttime + ConfigFileEntry.anti_spam_exit_message_time >= CurrentTime)
+ {
+ sendto_one(source_p, form_str(ERR_TOOMANYTARGETS),
+ me.name,
+ source_p->name,
+ nick,
+ 1);
+ return 1;
+ }
+
+ if (ntargets >= ConfigFileEntry.max_targets)
+ {
+ sendto_one(source_p, form_str(ERR_TOOMANYTARGETS),
+ me.name,
+ source_p->name,
+ nick,
+ ConfigFileEntry.max_targets);
+ return 1;
+ }
+
+ return 0;
+}
+
/* build_target_list()
*
* inputs - pointer to given client_p (server)
{
if (!duplicate_ptr(chptr))
{
- if (ntargets >= ConfigFileEntry.max_targets)
+ if (target_check_limit(source_p, nick))
{
- sendto_one(source_p, form_str(ERR_TOOMANYTARGETS),
- ID_or_name(&me, client_p),
- ID_or_name(source_p, client_p), nick,
- ConfigFileEntry.max_targets);
return 1;
}
{
if (!duplicate_ptr(target_p))
{
- if (ntargets >= ConfigFileEntry.max_targets)
+ if (target_check_limit(source_p, nick))
{
- sendto_one(source_p, form_str(ERR_TOOMANYTARGETS),
- ID_or_name(&me, client_p),
- ID_or_name(source_p, client_p), nick,
- ConfigFileEntry.max_targets);
return 1;
}
{
if (!duplicate_ptr(chptr))
{
- if (ntargets >= ConfigFileEntry.max_targets)
+ if (target_check_limit(source_p, nick))
{
- sendto_one(source_p, form_str(ERR_TOOMANYTARGETS),
- ID_or_name(&me, client_p),
- ID_or_name(source_p, client_p), nick,
- ConfigFileEntry.max_targets);
return 1;
}