commit - fdfc27265ef27e445de89217d08f9a57219355df
commit + f8405b1a4f032a125372b03711f6bed1ecac2bd6
blob - 7a871379a422543c416a111e6d2eeaafdd661dc5
blob + 10e3e45656bdb1cc996ef0d92ad2c0a1cd8fab2f
--- src/ngircd/irc.c
+++ src/ngircd/irc.c
/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2004 Alexander Barton <alex@barton.de>
+ * Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
bool SendErrors));
+/**
+ * Check if a list limit is reached and inform client accordingly.
+ *
+ * @param From The client.
+ * @param Count Reply item count.
+ * @param Limit Reply limit.
+ * @param Name Name of the list.
+ * @return true if list limit has been reached; false otherwise.
+ */
GLOBAL bool
+IRC_CheckListTooBig(CLIENT *From, const int Count, const int Limit,
+ const char *Name)
+{
+ assert(From != NULL);
+ assert(Count >= 0);
+ assert(Limit > 0);
+ assert(Name != NULL);
+
+ if (Count < Limit)
+ return false;
+
+ (void)IRC_WriteStrClient(From,
+ "NOTICE %s :%s list limit (%d) reached!",
+ Client_ID(From), Name, Limit);
+ IRC_SetPenalty(From, 2);
+ return true;
+}
+
+
+GLOBAL bool
IRC_ERROR( CLIENT *Client, REQUEST *Req )
{
assert( Client != NULL );
blob - cdeb74580984c2fee70198d83cb81e6e05c67649
blob + c2f9b66244eba0c3fc84db90f1104cd60b4d3758
--- src/ngircd/irc.h
+++ src/ngircd/irc.h
/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2008 Alexander Barton (alex@barton.de)
+ * Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* IRC commands (header)
*/
+GLOBAL bool IRC_CheckListTooBig PARAMS((CLIENT *From, const int Count,
+ const int Limit, const char *Name));
+
GLOBAL bool IRC_ERROR PARAMS((CLIENT *Client, REQUEST *Req));
GLOBAL bool IRC_KILL PARAMS((CLIENT *Client, REQUEST *Req));
GLOBAL bool IRC_NOTICE PARAMS((CLIENT *Client, REQUEST *Req));