diff options
-rw-r--r-- | src/inspircd.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp index d09092e69..7e81df32b 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -169,10 +169,14 @@ void InspIRCd::Restart(const std::string &reason) this->Cleanup(); /* Figure out our filename (if theyve renamed it, we're boned) */ + std::string me; + #ifdef WINDOWS - std::string me = Config->MyDir + "inspircd.exe"; + char module[MAX_PATH]; + if (GetModuleFileName(NULL, module, MAX_PATH)) + me = module; #else - std::string me = Config->MyDir + "/inspircd"; + me = Config->MyDir + "/inspircd"; #endif if (execv(me.c_str(), Config->argv) == -1) |