* +------------------------------------+
*
* InspIRCd: (C) 2002-2009 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ * See: http://wiki.inspircd.org/Credits
*
* This program is free but copyrighted software; see
* the file COPYING for details.
void User::AddWriteBuf(const std::string &data)
{
- if (this->quitting)
- return;
-
- if (this->MyClass && !this->HasPrivPermission("users/flood/increased-buffers") && sendq.length() + data.length() > this->MyClass->GetSendqMax())
+ if (!this->quitting && this->MyClass && !this->HasPrivPermission("users/flood/increased-buffers") && sendq.length() + data.length() > this->MyClass->GetSendqMax())
{
/*
* Fix by brain - Set the error text BEFORE calling, because
return;
}
+ // We still want to append data to the sendq of a quitting user,
+ // e.g. their ERROR message that says 'closing link'
+
if (data.length() > MAXBUF - 2) /* MAXBUF has a value of 514, to account for line terminators */
sendq.append(data.substr(0,MAXBUF - 4)).append("\r\n"); /* MAXBUF-4 = 510 */
else