if (!bForce && u > CZNC::Get().GetMaxBufferSize())
return false;
m_uBufferCount = u;
+ TrimBuffer(m_uBufferCount);
return true;
}
m_vsBuffer.clear();
}
+void CChan::TrimBuffer(const unsigned int uMax) {
+ if (m_vsBuffer.size() > uMax) {
+ m_vsBuffer.erase(m_vsBuffer.begin(), m_vsBuffer.begin() + (uMax - m_vsBuffer.size()));
+ }
+}
+
void CChan::SendBuffer(CClient* pClient) {
if (m_pUser && m_pUser->IsUserAttached()) {
const vector<CString>& vsBuffer = GetBuffer();
// Buffer
int AddBuffer(const CString& sLine);
void ClearBuffer();
+ void TrimBuffer(const unsigned int uMax);
void SendBuffer(CClient* pClient);
// !Buffer