summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/users.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/users.cpp b/src/users.cpp
index f2a43238a..f5183646c 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -280,8 +280,12 @@ void userrec::AddWriteBuf(std::string data)
return;
if (sendq.length() + data.length() > (unsigned)this->sendqmax)
{
- WriteOpers("*** User %s SendQ of %d exceeds connect class maximum of %d",this->nick,sendq.length() + data.length(),this->sendqmax);
+ /* Fix by brain - Set the error text BEFORE calling writeopers, because
+ * if we dont it'll recursively call here over and over again trying
+ * to repeatedly add the text to the sendq!
+ */
this->SetWriteError("SendQ exceeded");
+ WriteOpers("*** User %s SendQ of %d exceeds connect class maximum of %d",this->nick,sendq.length() + data.length(),this->sendqmax);
return;
}
std::stringstream stream;