diff --git a/include/znc/Buffer.h b/include/znc/Buffer.h index 59d5454a..0c62cd01 100644 --- a/include/znc/Buffer.h +++ b/include/znc/Buffer.h @@ -28,7 +28,7 @@ class CClient; class CBufLine { public: - CBufLine() { throw 0; } // shouldn't be called, but is needed for compilation + CBufLine() : CBufLine("") { throw 0; } // shouldn't be called, but is needed for compilation CBufLine(const CString& sFormat, const CString& sText = "", const timeval* ts = nullptr); ~CBufLine(); CString GetLine(const CClient& Client, const MCString& msParams) const; diff --git a/include/znc/Client.h b/include/znc/Client.h index d64e9fed..e8ae0bb2 100644 --- a/include/znc/Client.h +++ b/include/znc/Client.h @@ -33,8 +33,7 @@ class CClient; class CAuthBase { public: - CAuthBase(const CString& sUsername, const CString& sPassword, CZNCSock* pSock) { - SetLoginInfo(sUsername, sPassword, pSock); + CAuthBase(const CString& sUsername, const CString& sPassword, CZNCSock* pSock) : m_sUsername(sUsername), m_sPassword(sPassword), m_pSock(pSock) { } virtual ~CAuthBase() {} diff --git a/include/znc/Config.h b/include/znc/Config.h index f3cfd8fc..344874b2 100644 --- a/include/znc/Config.h +++ b/include/znc/Config.h @@ -35,6 +35,8 @@ struct CConfigEntry { class CConfig { public: + CConfig() : m_ConfigEntries(), m_SubConfigs() {} + typedef std::map EntryMap; typedef std::map SubConfig; typedef std::map SubConfigMap; diff --git a/include/znc/ExecSock.h b/include/znc/ExecSock.h index c0ffa877..6299e0d8 100644 --- a/include/znc/ExecSock.h +++ b/include/znc/ExecSock.h @@ -24,9 +24,7 @@ //! @author imaginos@imaginos.net class CExecSock : public CZNCSock { public: - CExecSock() : CZNCSock(0) { - m_iPid = -1; - } + CExecSock() : CZNCSock(0), m_iPid(-1) {} int Execute(const CString & sExec) { int iReadFD, iWriteFD; diff --git a/include/znc/FileUtils.h b/include/znc/FileUtils.h index 4d0b3d11..0c401113 100644 --- a/include/znc/FileUtils.h +++ b/include/znc/FileUtils.h @@ -151,15 +151,11 @@ protected: class CDir : public std::vector { public: - CDir(const CString& sDir) { - m_bDesc = false; - m_eSortAttr = CFile::FA_Name; + CDir(const CString& sDir) : m_eSortAttr(CFile::FA_Name), m_bDesc(false) { Fill(sDir); } - CDir() { - m_bDesc = false; - m_eSortAttr = CFile::FA_Name; + CDir() : m_eSortAttr(CFile::FA_Name), m_bDesc(false) { } ~CDir() { diff --git a/include/znc/Listener.h b/include/znc/Listener.h index c1e6fba3..1c77051b 100644 --- a/include/znc/Listener.h +++ b/include/znc/Listener.h @@ -32,14 +32,14 @@ public: ACCEPT_ALL } EAcceptType; - CListener(unsigned short uPort, const CString& sBindHost, const CString& sURIPrefix, bool bSSL, EAddrType eAddr, EAcceptType eAccept) { - m_uPort = uPort; - m_sBindHost = sBindHost; - m_bSSL = bSSL; - m_eAddr = eAddr; - m_sURIPrefix = sURIPrefix; - m_pListener = nullptr; - m_eAcceptType = eAccept; + CListener(unsigned short uPort, const CString& sBindHost, const CString& sURIPrefix, bool bSSL, EAddrType eAddr, EAcceptType eAccept) + : m_bSSL(bSSL), + m_eAddr(eAddr), + m_uPort(uPort), + m_sBindHost(sBindHost), + m_sURIPrefix(sURIPrefix), + m_pListener(nullptr), + m_eAcceptType(eAccept) { } ~CListener(); diff --git a/include/znc/Modules.h b/include/znc/Modules.h index f6ab6dd9..74275ac1 100644 --- a/include/znc/Modules.h +++ b/include/znc/Modules.h @@ -165,8 +165,7 @@ typedef void (*FPTimer_t)(CModule *, CFPTimer *); class CFPTimer : public CTimer { public: CFPTimer(CModule* pModule, unsigned int uInterval, unsigned int uCycles, const CString& sLabel, const CString& sDescription) - : CTimer(pModule, uInterval, uCycles, sLabel, sDescription) { - m_pFBCallback = nullptr; + : CTimer(pModule, uInterval, uCycles, sLabel, sDescription), m_pFBCallback(nullptr) { } virtual ~CFPTimer() {} diff --git a/include/znc/Template.h b/include/znc/Template.h index 26e11e09..bec1500c 100644 --- a/include/znc/Template.h +++ b/include/znc/Template.h @@ -51,9 +51,7 @@ class CTemplate; class CTemplateOptions { public: - CTemplateOptions() { - m_eEscapeFrom = CString::EASCII; - m_eEscapeTo = CString::EASCII; + CTemplateOptions() : m_eEscapeFrom(CString::EASCII), m_eEscapeTo(CString::EASCII) { } virtual ~CTemplateOptions() {} @@ -72,13 +70,8 @@ private: class CTemplateLoopContext { public: - CTemplateLoopContext(unsigned long uFilePos, const CString& sLoopName, bool bReverse, std::vector* pRows) { - m_uFilePosition = uFilePos; - m_sName = sLoopName; - m_uRowIndex = 0; - m_bReverse = bReverse; - m_pvRows = pRows; - m_bHasData = false; + CTemplateLoopContext(unsigned long uFilePos, const CString& sLoopName, bool bReverse, std::vector* pRows) + : m_bReverse(bReverse), m_bHasData(false), m_sName(sLoopName), m_uRowIndex(0), m_uFilePosition(uFilePos), m_pvRows(pRows) { } virtual ~CTemplateLoopContext() {} @@ -120,17 +113,13 @@ private: class CTemplate : public MCString { public: - CTemplate() : MCString(), m_spOptions(new CTemplateOptions) { - Init(); + CTemplate() : CTemplate("") { } - CTemplate(const CString& sFileName) : MCString(), m_sFileName(sFileName), m_spOptions(new CTemplateOptions) { - Init(); + CTemplate(const CString& sFileName) : MCString(), m_pParent(nullptr), m_sFileName(sFileName), m_lsbPaths(), m_mvLoops(), m_vLoopContexts(), m_spOptions(new CTemplateOptions), m_vspTagHandlers() { } - CTemplate(const std::shared_ptr& Options, CTemplate* pParent = nullptr) : MCString(), m_spOptions(Options) { - Init(); - m_pParent = pParent; + CTemplate(const std::shared_ptr& Options, CTemplate* pParent = nullptr) : MCString(), m_pParent(pParent), m_sFileName(""), m_lsbPaths(), m_mvLoops(), m_vLoopContexts(), m_spOptions(Options), m_vspTagHandlers() { } virtual ~CTemplate(); diff --git a/include/znc/Threads.h b/include/znc/Threads.h index 8757ab5c..c4e02366 100644 --- a/include/znc/Threads.h +++ b/include/znc/Threads.h @@ -38,7 +38,7 @@ class CMutex { public: friend class CConditionVariable; - CMutex() { + CMutex() : m_mutex() { int i = pthread_mutex_init(&m_mutex, nullptr); if (i) { CUtils::PrintError("Can't initialize mutex: " + CString(strerror(errno))); @@ -123,7 +123,7 @@ private: */ class CConditionVariable { public: - CConditionVariable() { + CConditionVariable() : m_cond() { int i = pthread_cond_init(&m_cond, nullptr); if (i) { CUtils::PrintError("Can't initialize condition variable: " diff --git a/include/znc/Utils.h b/include/znc/Utils.h index 5333d4e3..6db05aa4 100644 --- a/include/znc/Utils.h +++ b/include/znc/Utils.h @@ -100,8 +100,7 @@ public: EX_Restart } EType; - CException(EType e) { - m_eType = e; + CException(EType e) : m_eType(e) { } virtual ~CException() {} @@ -143,7 +142,7 @@ public: * * @param uPreferredWidth If width of table is bigger than this, text in cells will be wrapped to several lines, if possible */ - explicit CTable(size_type uPreferredWidth = 110) : m_uPreferredWidth(uPreferredWidth) {} + explicit CTable(size_type uPreferredWidth = 110) : m_vsHeaders(), m_vuMaxWidths(), m_vuMinWidths(), m_vbWrappable(), m_uPreferredWidth(uPreferredWidth), m_vsOutput() {} virtual ~CTable() {} /** Adds a new column to the table. @@ -252,9 +251,7 @@ private: template class TCacheMap { public: - TCacheMap(unsigned int uTTL = 5000) { - m_uTTL = uTTL; - } + TCacheMap(unsigned int uTTL = 5000) : m_mItems(), m_uTTL(uTTL) {} virtual ~TCacheMap() {} diff --git a/include/znc/WebModules.h b/include/znc/WebModules.h index e3d407aa..554ab597 100644 --- a/include/znc/WebModules.h +++ b/include/znc/WebModules.h @@ -76,12 +76,10 @@ private: class CWebSubPage { public: - CWebSubPage(const CString& sName, const CString& sTitle = "", unsigned int uFlags = 0) : m_sName(sName), m_sTitle(sTitle) { - m_uFlags = uFlags; + CWebSubPage(const CString& sName, const CString& sTitle = "", unsigned int uFlags = 0) : m_uFlags(uFlags), m_sName(sName), m_sTitle(sTitle), m_vParams() { } - CWebSubPage(const CString& sName, const CString& sTitle, const VPair& vParams, unsigned int uFlags = 0) : m_sName(sName), m_sTitle(sTitle), m_vParams(vParams) { - m_uFlags = uFlags; + CWebSubPage(const CString& sName, const CString& sTitle, const VPair& vParams, unsigned int uFlags = 0) : m_uFlags(uFlags), m_sName(sName), m_sTitle(sTitle), m_vParams(vParams) { } virtual ~CWebSubPage() {} diff --git a/src/Buffer.cpp b/src/Buffer.cpp index 69c35e50..56094bae 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -17,9 +17,7 @@ #include #include -CBufLine::CBufLine(const CString& sFormat, const CString& sText, const timeval* ts) { - m_sFormat = sFormat; - m_sText = sText; +CBufLine::CBufLine(const CString& sFormat, const CString& sText, const timeval* ts) : m_sFormat(sFormat), m_sText(sText), m_time() { if (ts == nullptr) UpdateTime(); else @@ -49,8 +47,7 @@ CString CBufLine::GetLine(const CClient& Client, const MCString& msParams) const } } -CBuffer::CBuffer(unsigned int uLineCount) { - m_uLineCount = uLineCount; +CBuffer::CBuffer(unsigned int uLineCount) : m_uLineCount(uLineCount) { } CBuffer::~CBuffer() {} diff --git a/src/Client.cpp b/src/Client.cpp index fe8d5d68..bf77e9a9 100644 --- a/src/Client.cpp +++ b/src/Client.cpp @@ -625,8 +625,7 @@ void CClient::AuthUser() { } CClientAuth::CClientAuth(CClient* pClient, const CString& sUsername, const CString& sPassword) - : CAuthBase(sUsername, sPassword, pClient) { - m_pClient = pClient; + : CAuthBase(sUsername, sPassword, pClient), m_pClient(pClient) { } void CClientAuth::RefusedLogin(const CString& sReason) { diff --git a/src/Config.cpp b/src/Config.cpp index 8dcade20..9dd9be50 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -24,9 +24,7 @@ struct ConfigStackEntry { CString sName; CConfig Config; - ConfigStackEntry(const CString& Tag, const CString Name) { - sTag = Tag; - sName = Name; + ConfigStackEntry(const CString& Tag, const CString Name) : sTag(Tag), sName(Name), Config() { } }; diff --git a/src/FileUtils.cpp b/src/FileUtils.cpp index f406688b..d358aa4e 100644 --- a/src/FileUtils.cpp +++ b/src/FileUtils.cpp @@ -33,15 +33,10 @@ CString CFile::m_sHomePath; -CFile::CFile() { - m_iFD = -1; - ResetError(); +CFile::CFile() : CFile("") { } -CFile::CFile(const CString& sLongName) { - m_iFD = -1; - - ResetError(); +CFile::CFile(const CString& sLongName) : m_sBuffer(""), m_iFD(-1), m_bHadError(false), m_sLongName(""), m_sShortName("") { SetFileName(sLongName); } diff --git a/src/IRCNetwork.cpp b/src/IRCNetwork.cpp index a8a59a95..6bfbdb05 100644 --- a/src/IRCNetwork.cpp +++ b/src/IRCNetwork.cpp @@ -29,8 +29,7 @@ using std::set; class CIRCNetworkPingTimer : public CCron { public: - CIRCNetworkPingTimer(CIRCNetwork *pNetwork) : CCron() { - m_pNetwork = pNetwork; + CIRCNetworkPingTimer(CIRCNetwork *pNetwork) : CCron(), m_pNetwork(pNetwork) { SetName("CIRCNetworkPingTimer::" + m_pNetwork->GetUser()->GetUserName() + "::" + m_pNetwork->GetName()); Start(CIRCNetwork::PING_SLACK); } diff --git a/src/IRCSock.cpp b/src/IRCSock.cpp index 225a3d0d..88708f7e 100644 --- a/src/IRCSock.cpp +++ b/src/IRCSock.cpp @@ -38,8 +38,7 @@ static const double FLOOD_MINIMAL_RATE = 0.3; class CIRCFloodTimer : public CCron { CIRCSock* m_pSock; public: - CIRCFloodTimer(CIRCSock* pSock) { - m_pSock = pSock; + CIRCFloodTimer(CIRCSock* pSock) : m_pSock(pSock) { StartMaxCycles(m_pSock->m_fFloodRate, 0); } void RunJob() override { diff --git a/src/Listener.cpp b/src/Listener.cpp index bb067d16..5e303839 100644 --- a/src/Listener.cpp +++ b/src/Listener.cpp @@ -85,8 +85,7 @@ void CRealListener::SockError(int iErrno, const CString& sDescription) { } } -CIncomingConnection::CIncomingConnection(const CString& sHostname, unsigned short uPort, CListener::EAcceptType eAcceptType, const CString& sURIPrefix) : CZNCSock(sHostname, uPort), m_sURIPrefix(sURIPrefix) { - m_eAcceptType = eAcceptType; +CIncomingConnection::CIncomingConnection(const CString& sHostname, unsigned short uPort, CListener::EAcceptType eAcceptType, const CString& sURIPrefix) : CZNCSock(sHostname, uPort), m_eAcceptType(eAcceptType), m_sURIPrefix(sURIPrefix) { // The socket will time out in 120 secs, no matter what. // This has to be fixed up later, if desired. SetTimeout(120, 0); diff --git a/src/Modules.cpp b/src/Modules.cpp index ce99e9e3..0397a67d 100644 --- a/src/Modules.cpp +++ b/src/Modules.cpp @@ -103,10 +103,8 @@ bool ZNC_NO_NEED_TO_DO_ANYTHING_ON_MODULE_CALL_EXITER; return bHaltCore; /////////////////// Timer /////////////////// -CTimer::CTimer(CModule* pModule, unsigned int uInterval, unsigned int uCycles, const CString& sLabel, const CString& sDescription) : CCron() { +CTimer::CTimer(CModule* pModule, unsigned int uInterval, unsigned int uCycles, const CString& sLabel, const CString& sDescription) : CCron(), m_pModule(pModule), m_sDescription(sDescription) { SetName(sLabel); - m_sDescription = sDescription; - m_pModule = pModule; if (uCycles) { StartMaxCycles(uInterval, uCycles); @@ -747,10 +745,7 @@ CModule::EModRet CModule::OnGetModInfo(CModInfo& ModInfo, const CString& sModule void CModule::OnGetAvailableMods(set& ssMods, CModInfo::EModuleType eType) {} -CModules::CModules() { - m_pUser = nullptr; - m_pNetwork = nullptr; - m_pClient = nullptr; +CModules::CModules() : m_pUser(nullptr), m_pNetwork(nullptr), m_pClient(nullptr) { } CModules::~CModules() { diff --git a/src/Nick.cpp b/src/Nick.cpp index 32a51f09..145d6756 100644 --- a/src/Nick.cpp +++ b/src/Nick.cpp @@ -21,12 +21,10 @@ using std::vector; using std::map; -CNick::CNick() { - Reset(); +CNick::CNick() : m_sChanPerms(""), m_pNetwork(nullptr), m_sNick(""), m_sIdent(""), m_sHost("") { } -CNick::CNick(const CString& sNick) { - Reset(); +CNick::CNick(const CString& sNick) : CNick() { Parse(sNick); } diff --git a/src/Query.cpp b/src/Query.cpp index c59895ee..cd3e4a59 100644 --- a/src/Query.cpp +++ b/src/Query.cpp @@ -20,10 +20,7 @@ using std::vector; -CQuery::CQuery(const CString& sName, CIRCNetwork* pNetwork) { - m_sName = sName; - m_pNetwork = pNetwork; - +CQuery::CQuery(const CString& sName, CIRCNetwork* pNetwork) : m_sName(sName), m_pNetwork(pNetwork), m_Buffer() { SetBufferCount(m_pNetwork->GetUser()->GetBufferCount(), true); } diff --git a/src/Server.cpp b/src/Server.cpp index b70e8b6f..2f68fa3a 100644 --- a/src/Server.cpp +++ b/src/Server.cpp @@ -16,11 +16,12 @@ #include -CServer::CServer(const CString& sName, unsigned short uPort, const CString& sPass, bool bSSL) { - m_sName = sName; - m_uPort = (uPort) ? uPort : (unsigned short)6667; - m_sPass = sPass; - m_bSSL = bSSL; +CServer::CServer(const CString& sName, unsigned short uPort, const CString& sPass, bool bSSL) + : m_sName(sName), + m_uPort((uPort) ? uPort : (unsigned short)6667), + m_sPass(sPass), + m_bSSL(bSSL) +{ } CServer::~CServer() {} diff --git a/src/Threads.cpp b/src/Threads.cpp index 84972d30..baa2d162 100644 --- a/src/Threads.cpp +++ b/src/Threads.cpp @@ -34,7 +34,7 @@ CThreadPool& CThreadPool::Get() { return pool; } -CThreadPool::CThreadPool() : m_done(false), m_num_threads(0), m_num_idle(0) { +CThreadPool::CThreadPool() : m_mutex(), m_cond(), m_cancellationCond(), m_exit_cond(), m_done(false), m_num_threads(0), m_num_idle(0), m_iJobPipe{0,0}, m_jobs() { if (pipe(m_iJobPipe)) { DEBUG("Ouch, can't open pipe for thread pool: " << strerror(errno)); exit(1); diff --git a/src/User.cpp b/src/User.cpp index 888a83cf..f0e9d224 100644 --- a/src/User.cpp +++ b/src/User.cpp @@ -28,8 +28,7 @@ using std::set; class CUserTimer : public CCron { public: - CUserTimer(CUser* pUser) : CCron() { - m_pUser = pUser; + CUserTimer(CUser* pUser) : CCron(), m_pUser(pUser) { SetName("CUserTimer::" + m_pUser->GetUserName()); Start(CIRCNetwork::PING_SLACK); } diff --git a/src/Utils.cpp b/src/Utils.cpp index 924184b0..d1bbd7fb 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -774,10 +774,12 @@ void CTable::Clear() { } #ifdef HAVE_LIBSSL -CBlowfish::CBlowfish(const CString & sPassword, int iEncrypt, const CString & sIvec) { - m_iEncrypt = iEncrypt; - m_ivec = (unsigned char *)calloc(sizeof(unsigned char), 8); - m_num = 0; +CBlowfish::CBlowfish(const CString & sPassword, int iEncrypt, const CString & sIvec) + : m_ivec((unsigned char *)calloc(sizeof(unsigned char), 8)), + m_bkey(), + m_iEncrypt(iEncrypt), + m_num(0) +{ if (sIvec.length() >= 8) { memcpy(m_ivec, sIvec.data(), 8); diff --git a/src/WebModules.cpp b/src/WebModules.cpp index 09361d84..a1fa26fb 100644 --- a/src/WebModules.cpp +++ b/src/WebModules.cpp @@ -34,7 +34,7 @@ const unsigned int CWebSock::m_uiMaxSessions = 5; // destroyed in the order that we want. struct CSessionManager { // Sessions are valid for a day, (24h, ...) - CSessionManager() : m_mspSessions(24 * 60 * 60 * 1000) {} + CSessionManager() : m_mspSessions(24 * 60 * 60 * 1000), m_mIPSessions() {} ~CSessionManager() { // Make sure all sessions are destroyed before any of our maps // are destroyed @@ -96,8 +96,7 @@ bool CZNCTagHandler::HandleTag(CTemplate& Tmpl, const CString& sName, const CStr return false; } -CWebSession::CWebSession(const CString& sId, const CString& sIP) : m_sId(sId), m_sIP(sIP) { - m_pUser = nullptr; +CWebSession::CWebSession(const CString& sId, const CString& sIP) : m_sId(sId), m_sIP(sIP), m_pUser(nullptr), m_vsErrorMsgs(), m_vsSuccessMsgs(), m_tmLastActive() { Sessions.m_mIPSessions.insert(make_pair(sIP, this)); UpdateLastActive(); } @@ -109,9 +108,7 @@ void CWebSession::UpdateLastActive() { bool CWebSession::IsAdmin() const { return IsLoggedIn() && m_pUser->IsAdmin(); } CWebAuth::CWebAuth(CWebSock* pWebSock, const CString& sUsername, const CString& sPassword, bool bBasic) - : CAuthBase(sUsername, sPassword, pWebSock) { - m_pWebSock = pWebSock; - m_bBasic = bBasic; + : CAuthBase(sUsername, sPassword, pWebSock), m_pWebSock(pWebSock), m_bBasic(bBasic) { } void CWebSession::ClearMessageLoops() { @@ -189,9 +186,9 @@ void CWebAuth::Invalidate() { m_pWebSock = nullptr; } -CWebSock::CWebSock(const CString& sURIPrefix) : CHTTPSock(nullptr, sURIPrefix) { - m_bPathsSet = false; - +CWebSock::CWebSock(const CString& sURIPrefix) : CHTTPSock(nullptr, sURIPrefix), + m_bPathsSet(false), m_Template(), m_spAuth(), m_sModName(""), m_sPath(""), m_sPage(""), m_spSession() +{ m_Template.AddTagHandler(std::make_shared(*this)); }