From be5e83759fc2fbb00d59efa12857f48739522242 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 8 May 2014 19:40:13 -0400 Subject: [PATCH] Fix m_permchannels and m_xline_db on Windows The call to remove() can fail if the database doesn't already exist. Just ignore the error, which effectively makes the rename() call below work as it does on nix --- src/modules/m_permchannels.cpp | 7 +------ src/modules/m_xline_db.cpp | 7 +------ 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/modules/m_permchannels.cpp b/src/modules/m_permchannels.cpp index 69a282637..e86b3cbf6 100644 --- a/src/modules/m_permchannels.cpp +++ b/src/modules/m_permchannels.cpp @@ -156,12 +156,7 @@ static bool WriteDatabase(Module* mod, bool save_listmodes) } #ifdef _WIN32 - if (remove(permchannelsconf.c_str())) - { - ServerInstance->Logs->Log("m_permchannels",DEFAULT, "permchannels: Cannot remove old database! %s (%d)", strerror(errno), errno); - ServerInstance->SNO->WriteToSnoMask('a', "database: cannot remove old database: %s (%d)", strerror(errno), errno); - return false; - } + remove(permchannelsconf.c_str()); #endif // Use rename to move temporary to new db - this is guarenteed not to fuck up, even in case of a crash. if (rename(tempname.c_str(), permchannelsconf.c_str()) < 0) diff --git a/src/modules/m_xline_db.cpp b/src/modules/m_xline_db.cpp index 5e83478c3..2237b0d08 100644 --- a/src/modules/m_xline_db.cpp +++ b/src/modules/m_xline_db.cpp @@ -147,12 +147,7 @@ class ModuleXLineDB : public Module } #ifdef _WIN32 - if (remove(xlinedbpath.c_str())) - { - ServerInstance->Logs->Log("m_xline_db",DEBUG, "xlinedb: Cannot remove old database! %s (%d)", strerror(errno), errno); - ServerInstance->SNO->WriteToSnoMask('a', "database: cannot remove old database: %s (%d)", strerror(errno), errno); - return false; - } + remove(xlinedbpath.c_str()); #endif // Use rename to move temporary to new db - this is guarenteed not to fuck up, even in case of a crash. if (rename(xlinenewdbpath.c_str(), xlinedbpath.c_str()) < 0) -- 2.39.5