From 94630d2b74a88ee5fb29d57f9747525e6e05eb93 Mon Sep 17 00:00:00 2001 From: prozacx Date: Fri, 9 Sep 2005 04:39:49 +0000 Subject: [PATCH] Launch znc if user answers 'yes' git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@477 726aef4b-f618-498e-8847-2d620e286838 --- main.cpp | 5 +++-- znc.cpp | 7 ++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/main.cpp b/main.cpp index f1081f42..4ba28d87 100644 --- a/main.cpp +++ b/main.cpp @@ -107,8 +107,9 @@ int main(int argc, char** argv) { if (bMakeConf) { CZNC* pZNC = CZNC::New(); pZNC->InitDirs(""); - pZNC->WriteNewConfig(sConfig); - return 0; + if (!pZNC->WriteNewConfig(sConfig)) { + return 0; + } } #ifdef HAVE_LIBSSL diff --git a/znc.cpp b/znc.cpp index aad83ff0..f1f155bd 100644 --- a/znc.cpp +++ b/znc.cpp @@ -368,6 +368,11 @@ bool CZNC::WriteNewConfig(const CString& sConfig) { vector vsLines; bool bAnswer = false; + if (!m_LockFile.TryExLock(m_sConfigFile, 50)) { + CUtils::PrintError("ZNC is currently running on this config."); + return false; + } + if (CFile::Exists(sConfigFile)) { if (!CUtils::GetBoolInput("This config already exists. Would you like to overwrite it?", false)) { return false; @@ -617,7 +622,7 @@ bool CZNC::WriteNewConfig(const CString& sConfig) { CUtils::PrintMessage("/server " + CString::ToString(uPort) + " " + sUser + ":", true); CUtils::PrintMessage(""); - return true; + return CUtils::GetBoolInput("Launch znc now?", true); } bool CZNC::ParseConfig(const CString& sConfig) {