mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
Fix a bug if a user uses /version
/version generates a 005 server reply. We used to cache this reply in the raw buffer and the next user who logs in then received the same 005 reply multiple times. We fix this by adding CBuffer::UpdateExactLine() which does nothing if the exact same line is already in the buffer. The only place where we (currently?) use this is the raw 005 reply. This should fix sf bug #2817124. git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1579 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
@@ -54,6 +54,15 @@ int CBuffer::UpdateLine(const CString& sPre, const CString& sPost, bool bIncNick
|
||||
return AddLine(sPre, sPost, bIncNick);
|
||||
}
|
||||
|
||||
int CBuffer::UpdateExactLine(const CString& sPre, const CString& sPost, bool bIncNick) {
|
||||
for (iterator it = begin(); it != end(); it++) {
|
||||
if (it->GetPre() == sPre && it->GetPost() == sPost)
|
||||
return size();
|
||||
}
|
||||
|
||||
return AddLine(sPre, sPost, bIncNick);
|
||||
}
|
||||
|
||||
bool CBuffer::GetLine(const CString& sTarget, CString& sRet, unsigned int uIdx) const {
|
||||
if (uIdx >= size()) {
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user