current->lines_in++;
- if (current->lines_in > current->flood)
+ if (current->flood && current->lines_in > current->flood)
FloodQuitUser(current);
else
{
current->WriteServ("NOTICE %s :Your previous line was too long and was not delivered (Over %d chars) Please shorten it.", current->nick, MAXBUF-2);
- current->recvq = "";
+ current->recvq.clear();
}
}
else
current->lines_in = 0;
}
- if (++current->lines_in > current->flood)
+ if (++current->lines_in > current->flood && current->flood)
{
FloodQuitUser(current);
return;
if ((result == -1) && (errno != EAGAIN) && (errno != EINTR))
{
- cu->SetWriteError(strerror(errno));
+ cu->SetWriteError(errno ? strerror(errno) : "EOF from client");
return;
}
}
}
else if (result == 0)
{
- cu->SetWriteError("Client exited");
+ cu->SetWriteError("Connection closed");
return;
}
}
{
/* Everybody loves boobies. */
time_t time = this->Time(false) - (curr->nping - curr->pingmax);
- std::string boobies = "Ping timeout: " + ConvToStr(time) + " second" + (time > 1 ? "s" : "");
+ char message[MAXBUF];
+ snprintf(message, MAXBUF, "Ping timeout: %ld second%s", time, time > 1 ? "s" : "");
curr->muted = true;
- GlobalCulls.AddItem(curr, boobies);
+ GlobalCulls.AddItem(curr, message);
curr->lastping = 1;
curr->nping = TIME+curr->pingmax;
continue;