Backup znc.conf once when updating to networks

This copies znc.conf to znc.conf.backup, if that file doesn't exist yet.

Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
Uli Schlachter
2011-09-16 11:41:01 +02:00
parent f97a6a8a26
commit b07f37b23d
3 changed files with 18 additions and 0 deletions
+1
View File
@@ -338,6 +338,7 @@ bool CUser::ParseConfig(CConfig* pConfig, CString& sError) {
}
if (pNetwork) {
CZNC::Get().BackupConfigOnce();
CUtils::PrintMessage("NOTICE: Found deprecated config, upgrading to a network");
if (!pNetwork->ParseConfig(pConfig, sError, true)) {
+16
View File
@@ -984,6 +984,22 @@ size_t CZNC::FilterUncommonModules(set<CModInfo>& ssModules) {
return uNrRemoved;
}
void CZNC::BackupConfigOnce()
{
static bool didBackup = false;
if (didBackup)
return;
didBackup = true;
CUtils::PrintAction("Creating a config backup");
CString sBackup = CDir::ChangeDir(m_sConfigFile, "../znc.conf.backup");
if (CFile::Copy(m_sConfigFile, sBackup))
CUtils::PrintStatus(true, sBackup);
else
CUtils::PrintStatus(false, strerror(errno));
}
bool CZNC::ParseConfig(const CString& sConfig)
{
CString s;
+1
View File
@@ -51,6 +51,7 @@ public:
bool WriteConfig();
bool ParseConfig(const CString& sConfig);
bool RehashConfig(CString& sError);
void BackupConfigOnce();
static CString GetVersion();
static CString GetTag(bool bIncludeVersion = true);
CString GetUptime() const;