From: <ps...@us...> - 2008-09-21 12:51:46
|
Revision: 1213 http://znc.svn.sourceforge.net/znc/?rev=1213&view=rev Author: psychon Date: 2008-09-21 12:51:43 +0000 (Sun, 21 Sep 2008) Log Message: ----------- Small optimization to starting the connect user timer Now the connect user timer is only started when the user which was disconnected from IRC wants to reconnect, not always. Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2008-09-21 08:02:15 UTC (rev 1212) +++ trunk/User.cpp 2008-09-21 12:51:43 UTC (rev 1213) @@ -118,7 +118,7 @@ SetIRCServer(""); // Get the reconnect going - CZNC::Get().EnableConnectUser(); + CheckIRCConnect(); } CString CUser::ExpandString(const CString& sStr) const { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2008-09-21 12:54:11
|
Revision: 1214 http://znc.svn.sourceforge.net/znc/?rev=1214&view=rev Author: psychon Date: 2008-09-21 12:54:10 +0000 (Sun, 21 Sep 2008) Log Message: ----------- Set the client's nick name to our IRC nick when it connects to ZNC The assumption here is that clients parse raw 001 to get their actual nick. This worked before because nothing relied on CClient's idea of the users' nick. Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2008-09-21 12:51:43 UTC (rev 1213) +++ trunk/User.cpp 2008-09-21 12:54:10 UTC (rev 1214) @@ -211,6 +211,9 @@ while (m_RawBuffer.GetLine(GetIRCNick().GetNick(), sLine, uIdx++)) { pClient->PutClient(sLine); } + + // The assumption is that the client got this nick from the 001 reply + pClient->SetNick(GetIRCNick().GetNick()); } // Send the cached MOTD This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2008-12-20 20:21:21
|
Revision: 1296 http://znc.svn.sourceforge.net/znc/?rev=1296&view=rev Author: psychon Date: 2008-12-20 20:21:14 +0000 (Sat, 20 Dec 2008) Log Message: ----------- Fix breakage from last commit, hope no one noticed it yet ;) This happens when you merge branches to trunk in a different order than you created them... Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2008-12-20 19:59:36 UTC (rev 1295) +++ trunk/User.cpp 2008-12-20 20:21:14 UTC (rev 1296) @@ -784,9 +784,6 @@ if (bSSL != pServer->IsSSL()) continue; - if (bIPV6 != pServer->IsIPV6()) - continue; - // Server is already added return false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-02-24 15:52:46
|
Revision: 1394 http://znc.svn.sourceforge.net/znc/?rev=1394&view=rev Author: psychon Date: 2009-02-24 15:52:43 +0000 (Tue, 24 Feb 2009) Log Message: ----------- Check the return value of strftime() strftime() returns zero for errors and the state of the buffer we passed to it is undefined in this case. This lead to a non-null-terminated string being used. The impact of this bug should be low, no writing was done and you were only able to get a partial stack dump. A crash through this is quite unlikely. Thanks to cnu for finding and reporting this. Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2009-02-24 14:55:44 UTC (rev 1393) +++ trunk/User.cpp 2009-02-24 15:52:43 UTC (rev 1394) @@ -171,9 +171,13 @@ } else { time(&tm); tm += (time_t)(m_fTimezoneOffset * 60 * 60); // offset is in hours - strftime(szTimestamp, sizeof(szTimestamp) / sizeof(char), GetTimestampFormat().c_str(), localtime(&tm)); + size_t i = strftime(szTimestamp, sizeof(szTimestamp), GetTimestampFormat().c_str(), localtime(&tm)); + if (i != 0) { + sRet = sStr; + } else { + sRet.clear(); + } - sRet = sStr; if (m_bPrependTimestamp) { sRet = szTimestamp; sRet += " " + sStr; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sil...@us...> - 2009-03-06 14:22:18
|
Revision: 1411 http://znc.svn.sourceforge.net/znc/?rev=1411&view=rev Author: silverleo Date: 2009-03-06 13:30:09 +0000 (Fri, 06 Mar 2009) Log Message: ----------- Change the default Join Tries from unlimited to 10 to prevent join floods when a user can't join a channel. Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2009-03-04 18:20:08 UTC (rev 1410) +++ trunk/User.cpp 2009-03-06 13:30:09 UTC (rev 1411) @@ -40,7 +40,7 @@ m_sStatusPrefix = "*"; m_sChanPrefixes = ""; m_uBufferCount = 50; - m_uMaxJoinTries = 0; + m_uMaxJoinTries = 10; m_uMaxJoins = 5; m_bKeepBuffer = false; m_bBeingDeleted = false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-03-31 09:18:16
|
Revision: 1464 http://znc.svn.sourceforge.net/znc/?rev=1464&view=rev Author: psychon Date: 2009-03-31 09:18:04 +0000 (Tue, 31 Mar 2009) Log Message: ----------- Make CUser::PrintLine() a little more readable and fix the return value Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2009-03-31 09:07:02 UTC (rev 1463) +++ trunk/User.cpp 2009-03-31 09:18:04 UTC (rev 1464) @@ -581,8 +581,12 @@ return false; } - return File.Write("\t" + sName.FirstLine() - + " = " + sValue.FirstLine() + "\n"); + // FirstLine() so that no one can inject new lines to the config if he + // manages to add "\n" to e.g. sValue. + CString sLine = "\t" + sName.FirstLine() + " = " + sValue.FirstLine() + "\n"; + if (File.Write(sLine) <= 0) + return false; + return true; } bool CUser::WriteConfig(CFile& File) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-06-17 12:58:23
|
Revision: 1543 http://znc.svn.sourceforge.net/znc/?rev=1543&view=rev Author: psychon Date: 2009-06-17 12:30:39 +0000 (Wed, 17 Jun 2009) Log Message: ----------- Fix a harmless compiler warning Kuja is messing with GCC snapshots again (thanks!). (btw the warning was 'value computed is not used') Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2009-06-10 19:16:20 UTC (rev 1542) +++ trunk/User.cpp 2009-06-17 12:30:39 UTC (rev 1543) @@ -512,7 +512,7 @@ return false; } - *p++; + p++; } return true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-08-01 09:03:43
|
Revision: 1584 http://znc.svn.sourceforge.net/znc/?rev=1584&view=rev Author: psychon Date: 2009-08-01 09:03:29 +0000 (Sat, 01 Aug 2009) Log Message: ----------- Send a correct MODE to new clients The source of commands is supposed to be a complete nick mask, but we only used the nick. Thanks to flakes for (kinda) noticing this. Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2009-08-01 08:59:06 UTC (rev 1583) +++ trunk/User.cpp 2009-08-01 09:03:29 UTC (rev 1584) @@ -274,7 +274,7 @@ sUserMode += *it; } if (!sUserMode.empty()) { - pClient->PutClient(":" + GetIRCNick().GetNick() + " MODE " + GetIRCNick().GetNick() + " :+" + sUserMode); + pClient->PutClient(":" + GetIRCNick().GetNickMask() + " MODE " + GetIRCNick().GetNick() + " :+" + sUserMode); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-08-17 20:00:17
|
Revision: 1602 http://znc.svn.sourceforge.net/znc/?rev=1602&view=rev Author: psychon Date: 2009-08-17 20:00:09 +0000 (Mon, 17 Aug 2009) Log Message: ----------- JoinChans(): Join channels in a semi random number Now ZNC doesn't try to join the first, then the second etc channel, but instead it will start at a random channel and go on from there. This fixes a bug if you got e.g. MaxJoins = 5 and your first five channels are invite-only. Without this, ZNC would never try to join any of the other channels. With this patch applied, it will sooner or later try to join the other channels, too. (I'd guess more sooner than later) Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2009-08-17 18:49:39 UTC (rev 1601) +++ trunk/User.cpp 2009-08-17 20:00:09 UTC (rev 1602) @@ -704,9 +704,14 @@ } void CUser::JoinChans() { + // We start at a random offset into the channel list so that if your + // first 3 channels are invite-only and you got MaxJoins == 3, ZNC will + // still be able to join the rest of your channels. + unsigned int start = rand() % m_vChans.size(); unsigned int uJoins = m_uMaxJoins; for (unsigned int a = 0; a < m_vChans.size(); a++) { - CChan* pChan = m_vChans[a]; + unsigned int idx = (start + a) % m_vChans.size(); + CChan* pChan = m_vChans[idx]; if (!pChan->IsOn() && !pChan->IsDisabled()) { if (!JoinChan(pChan)) continue; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-08-20 17:01:45
|
Revision: 1603 http://znc.svn.sourceforge.net/znc/?rev=1603&view=rev Author: psychon Date: 2009-08-20 17:01:33 +0000 (Thu, 20 Aug 2009) Log Message: ----------- Fix a division by zero bug Thanks to Sickness for reporting this and providing backtraces and for flakes for writing a first patch that Sickness tested. Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2009-08-17 20:00:09 UTC (rev 1602) +++ trunk/User.cpp 2009-08-20 17:01:33 UTC (rev 1603) @@ -704,6 +704,10 @@ } void CUser::JoinChans() { + // Avoid divsion by zero, it's bad! + if (m_vChans.size() == 0) + return; + // We start at a random offset into the channel list so that if your // first 3 channels are invite-only and you got MaxJoins == 3, ZNC will // still be able to join the rest of your channels. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-09-14 18:45:30
|
Revision: 1628 http://znc.svn.sourceforge.net/znc/?rev=1628&view=rev Author: psychon Date: 2009-09-14 18:45:07 +0000 (Mon, 14 Sep 2009) Log Message: ----------- CUser::Clone(): Handle modules after all other user settings Thanks to tylerdu who reported that cloning an admin user who got admin-only modules (e.g. listsockets) loaded skips those modules. This is fixed by handling modules last in CUser::Clone(). Other stuff like e.g. the Admin flag are now handled before the modules are and thus loading listsockets doesn't fail with "You must be admin to use this module". Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2009-09-14 17:23:40 UTC (rev 1627) +++ trunk/User.cpp 2009-09-14 18:45:07 UTC (rev 1628) @@ -354,39 +354,6 @@ // !Allowed Hosts -#ifdef _MODULES - // Modules - set<CString> ssUnloadMods; - CModules& vCurMods = GetModules(); - const CModules& vNewMods = User.GetModules(); - - for (a = 0; a < vNewMods.size(); a++) { - CString sModRet; - CModule* pNewMod = vNewMods[a]; - CModule* pCurMod = vCurMods.FindModule(pNewMod->GetModName()); - - if (!pCurMod) { - vCurMods.LoadModule(pNewMod->GetModName(), pNewMod->GetArgs(), this, sModRet); - } else if (pNewMod->GetArgs() != pCurMod->GetArgs()) { - vCurMods.ReloadModule(pNewMod->GetModName(), pNewMod->GetArgs(), this, sModRet); - } - } - - for (a = 0; a < vCurMods.size(); a++) { - CModule* pCurMod = vCurMods[a]; - CModule* pNewMod = vNewMods.FindModule(pCurMod->GetModName()); - - if (!pNewMod) { - ssUnloadMods.insert(pCurMod->GetModName()); - } - } - - for (set<CString>::iterator it = ssUnloadMods.begin(); it != ssUnloadMods.end(); it++) { - vCurMods.UnloadModule(*it); - } - // !Modules -#endif // !_MODULES - // Servers const vector<CServer*>& vServers = User.GetServers(); CString sServer; @@ -469,6 +436,39 @@ SetTimezoneOffset(User.GetTimezoneOffset()); // !Flags +#ifdef _MODULES + // Modules + set<CString> ssUnloadMods; + CModules& vCurMods = GetModules(); + const CModules& vNewMods = User.GetModules(); + + for (a = 0; a < vNewMods.size(); a++) { + CString sModRet; + CModule* pNewMod = vNewMods[a]; + CModule* pCurMod = vCurMods.FindModule(pNewMod->GetModName()); + + if (!pCurMod) { + vCurMods.LoadModule(pNewMod->GetModName(), pNewMod->GetArgs(), this, sModRet); + } else if (pNewMod->GetArgs() != pCurMod->GetArgs()) { + vCurMods.ReloadModule(pNewMod->GetModName(), pNewMod->GetArgs(), this, sModRet); + } + } + + for (a = 0; a < vCurMods.size(); a++) { + CModule* pCurMod = vCurMods[a]; + CModule* pNewMod = vNewMods.FindModule(pCurMod->GetModName()); + + if (!pNewMod) { + ssUnloadMods.insert(pCurMod->GetModName()); + } + } + + for (set<CString>::iterator it = ssUnloadMods.begin(); it != ssUnloadMods.end(); it++) { + vCurMods.UnloadModule(*it); + } + // !Modules +#endif // !_MODULES + return true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-11-14 12:03:13
|
Revision: 1659 http://znc.svn.sourceforge.net/znc/?rev=1659&view=rev Author: psychon Date: 2009-11-14 12:03:03 +0000 (Sat, 14 Nov 2009) Log Message: ----------- Bug fix for CUser::DelServer() DelServer() didn't always update m_uServerIdx correctly which means GetCurServer() started to return the wrong server. This should now be fixed. This log shows the bug. ZNC starts to think it's connected to irc.efnet.nl: <znc_psy> listservers <*status> +-------------------+------+-----+------+ <*status> | Host | Port | SSL | Pass | <*status> +-------------------+------+-----+------+ <*status> | irc.efnet.pl | 6667 | | | <*status> | irc.spotchat.org* | 6667 | | | <*status> | irc.efnet.nl | 6667 | | | <*status> | irc.freenode.org | 6667 | | | <*status> +-------------------+------+-----+------+ <znc_psy> delserver irc.efnet.pl <*status> Server removed <znc_psy> listservers <*status> +------------------+------+-----+------+ <*status> | Host | Port | SSL | Pass | <*status> +------------------+------+-----+------+ <*status> | irc.spotchat.org | 6667 | | | <*status> | irc.efnet.nl* | 6667 | | | <*status> | irc.freenode.org | 6667 | | | <*status> +------------------+------+-----+------+ Thanks to tomaw for reporting this bug. Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2009-11-14 11:36:19 UTC (rev 1658) +++ trunk/User.cpp 2009-11-14 12:03:03 UTC (rev 1659) @@ -768,10 +768,15 @@ } unsigned int a = 0; + bool bSawCurrentServer = false; + CServer* pCurServer = GetCurrentServer(); for (vector<CServer*>::iterator it = m_vServers.begin(); it != m_vServers.end(); it++, a++) { CServer* pServer = *it; + if (pServer == pCurServer) + bSawCurrentServer = true; + if (!pServer->GetName().Equals(sName)) continue; @@ -781,12 +786,12 @@ if (!sPass.empty() && pServer->GetPass() != sPass) continue; - CServer* pCurServer = GetCurrentServer(); m_vServers.erase(it); if (pServer == pCurServer) { CIRCSock* pIRCSock = GetIRCSock(); + // Make sure we don't skip the next server in the list! if (m_uServerIdx) { m_uServerIdx--; } @@ -795,8 +800,11 @@ pIRCSock->Quit(); PutStatus("Your current server was removed, jumping..."); } - } else if (m_uServerIdx >= m_vServers.size()) { - m_uServerIdx = 0; + } else if (!bSawCurrentServer) { + // Our current server comes after the server which we + // are removing. This means that it now got a different + // index in m_vServers! + m_uServerIdx--; } delete pServer; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-11-30 18:16:29
|
Revision: 1671 http://znc.svn.sourceforge.net/znc/?rev=1671&view=rev Author: psychon Date: 2009-11-30 18:16:16 +0000 (Mon, 30 Nov 2009) Log Message: ----------- Really check the return value of strftime() If strftime() returns 0, the buffer we passed to it shouldn't be touched at all, because it's not guaranteed to be null-terminated. Someone (*cough*) already tried to fix this in r1394, but failed badly. Thanks to DarthGandalf for spotting this and providing a patch. Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2009-11-29 15:17:39 UTC (rev 1670) +++ trunk/User.cpp 2009-11-30 18:16:16 UTC (rev 1671) @@ -198,17 +198,16 @@ CString& CUser::AddTimestamp(const CString& sStr, CString& sRet) const { char szTimestamp[1024]; time_t tm; + sRet = sStr; - if (GetTimestampFormat().empty() || (!m_bAppendTimestamp && !m_bPrependTimestamp)) { - sRet = sStr; - } else { + if (!GetTimestampFormat().empty() && (m_bAppendTimestamp || m_bPrependTimestamp)) { time(&tm); tm += (time_t)(m_fTimezoneOffset * 60 * 60); // offset is in hours size_t i = strftime(szTimestamp, sizeof(szTimestamp), GetTimestampFormat().c_str(), localtime(&tm)); - if (i != 0) { - sRet = sStr; - } else { - sRet.clear(); + // If strftime returns 0, an error occured in format, or result is empty + // In both cases just don't prepend/append anything to our string + if (0 == i) { + return sRet; } if (m_bPrependTimestamp) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sil...@us...> - 2009-12-15 18:50:54
|
Revision: 1675 http://znc.svn.sourceforge.net/znc/?rev=1675&view=rev Author: silverleo Date: 2009-12-15 18:50:47 +0000 (Tue, 15 Dec 2009) Log Message: ----------- Don't accept only spaces for a quitmsg. Otherwise we would end in an unrecoverable config error on startup. Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2009-12-11 15:18:00 UTC (rev 1674) +++ trunk/User.cpp 2009-12-15 18:50:47 UTC (rev 1675) @@ -1220,7 +1220,7 @@ const vector<CServer*>& CUser::GetServers() const { return m_vServers; } const CNick& CUser::GetIRCNick() const { return m_IRCNick; } const CString& CUser::GetIRCServer() const { return m_sIRCServer; } -CString CUser::GetQuitMsg() const { return (!m_sQuitMsg.empty()) ? m_sQuitMsg : CZNC::GetTag(false); } +CString CUser::GetQuitMsg() const { return (!m_sQuitMsg.Trim_n().empty()) ? m_sQuitMsg : CZNC::GetTag(false); } const MCString& CUser::GetCTCPReplies() const { return m_mssCTCPReplies; } unsigned int CUser::GetBufferCount() const { return m_uBufferCount; } bool CUser::KeepBuffer() const { return m_bKeepBuffer; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-12-31 13:34:08
|
Revision: 1686 http://znc.svn.sourceforge.net/znc/?rev=1686&view=rev Author: psychon Date: 2009-12-31 12:28:59 +0000 (Thu, 31 Dec 2009) Log Message: ----------- User: Have correct save and dl path after Clone() Without this, after you cloned a user via e.g. the admin modul, it would still write to the datadir of the old user. Patch by flakes, thanks a lot. Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2009-12-19 21:43:33 UTC (rev 1685) +++ trunk/User.cpp 2009-12-31 12:28:59 UTC (rev 1686) @@ -51,8 +51,6 @@ m_bIRCConnectEnabled = true; m_pUserTimer = new CUserTimer(this); CZNC::Get().GetManager().AddCron(m_pUserTimer); - m_sUserPath = CZNC::Get().GetUserPath() + "/" + sUserName; - m_sDLPath = GetUserPath() + "/downloads"; } CUser::~CUser() { @@ -1113,6 +1111,10 @@ void CUser::SetUserName(const CString& s) { m_sCleanUserName = CUser::MakeCleanUserName(s); m_sUserName = s; + + // set paths that depend on the user name: + m_sUserPath = CZNC::Get().GetUserPath() + "/" + m_sUserName; + m_sDLPath = GetUserPath() + "/downloads"; } bool CUser::IsChan(const CString& sChan) const { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2010-02-01 19:46:36
|
Revision: 1728 http://znc.svn.sourceforge.net/znc/?rev=1728&view=rev Author: psychon Date: 2010-02-01 19:46:26 +0000 (Mon, 01 Feb 2010) Log Message: ----------- Don't request the MOTD if there is none If a new client logs in and we don't have a MOTD cached, we request it via /motd. Since the IRC server sends it to use on connect anyway, there is no point in requesting it if there is none. (And even if there is no MOTD, we should get a "422 MOTD File is missing" which would be cached, so still no empty MOTD buffer) Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2010-01-28 19:55:23 UTC (rev 1727) +++ trunk/User.cpp 2010-02-01 19:46:26 UTC (rev 1728) @@ -276,15 +276,11 @@ } // Send the cached MOTD - if (m_MotdBuffer.IsEmpty()) { - PutIRC("MOTD"); - } else { - unsigned int uIdx = 0; - CString sLine; + unsigned int uIdx = 0; + CString sLine; - while (m_MotdBuffer.GetLine(GetIRCNick().GetNick(), sLine, uIdx++)) { - pClient->PutClient(sLine); - } + while (m_MotdBuffer.GetLine(GetIRCNick().GetNick(), sLine, uIdx++)) { + pClient->PutClient(sLine); } if (GetIRCSock() != NULL) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2010-07-10 08:12:01
|
Revision: 2084 http://znc.svn.sourceforge.net/znc/?rev=2084&view=rev Author: psychon Date: 2010-07-10 08:11:55 +0000 (Sat, 10 Jul 2010) Log Message: ----------- $COMMIT_MSG Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2010-07-10 08:02:32 UTC (rev 2083) +++ trunk/User.cpp 2010-07-10 08:11:55 UTC (rev 2084) @@ -107,10 +107,8 @@ } void CUser::DelModules() { - if (m_pModules) { - delete m_pModules; - m_pModules = NULL; - } + delete m_pModules; + m_pModules = NULL; } bool CUser::UpdateModule(const CString &sModule) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cf...@us...> - 2010-07-17 15:02:24
|
Revision: 2089 http://znc.svn.sourceforge.net/znc/?rev=2089&view=rev Author: cflakes Date: 2010-07-17 15:02:16 +0000 (Sat, 17 Jul 2010) Log Message: ----------- Raised the number of PM lines in the PM buffer to 250 (from 100) Modified Paths: -------------- trunk/User.cpp Modified: trunk/User.cpp =================================================================== --- trunk/User.cpp 2010-07-16 21:11:10 UTC (rev 2088) +++ trunk/User.cpp 2010-07-17 15:02:16 UTC (rev 2089) @@ -62,6 +62,7 @@ m_pModules = new CModules; m_RawBuffer.SetLineCount(100); // This should be more than enough raws, especially since we are buffering the MOTD separately m_MotdBuffer.SetLineCount(200); // This should be more than enough motd lines + m_QueryBuffer.SetLineCount(250); m_bMultiClients = true; m_bBounceDCCs = true; m_eHashType = HASH_NONE; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |