From 6ab38d48cad06633bfe5a118c1c5a6877fba6d5a Mon Sep 17 00:00:00 2001 From: w00t Date: Sun, 20 May 2007 12:54:57 +0000 Subject: - Modify ServerConfig::GetFullProgDir to just return cwd, previously it did a lot of voodoo that was a little hard to grasp, probably didn't quite accomplish what it should have, and broke on windows. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7063 e03df62e-2008-0410-955e-edbf42e46eb7 --- include/configreader.h | 2 +- src/configreader.cpp | 32 ++++++-------------------------- src/helperfuncs.cpp | 2 +- 3 files changed, 8 insertions(+), 28 deletions(-) diff --git a/include/configreader.h b/include/configreader.h index 096d1843a..d8d0a93d2 100644 --- a/include/configreader.h +++ b/include/configreader.h @@ -656,7 +656,7 @@ class CoreExport ServerConfig : public Extensible bool AddIOHook(Module* iomod, InspSocket* is); bool DelIOHook(InspSocket* is); - static std::string GetFullProgDir(char** argv, int argc); + static std::string GetFullProgDir(); static bool DirValid(const char* dirandfile); static char* CleanFilename(char* name); static bool FileExists(const char* file); diff --git a/src/configreader.cpp b/src/configreader.cpp index 4d4dccb08..8e785a1e4 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -1593,42 +1593,22 @@ bool ServerConfig::DirValid(const char* dirandfile) } } -std::string ServerConfig::GetFullProgDir(char** argv, int argc) +std::string ServerConfig::GetFullProgDir() { - char work[1024]; char buffer[1024]; - char otherdir[1024]; - int p; - - strlcpy(work,argv[0],1024); - p = strlen(work); - - // we just want the dir - while (*work) - { - if ((work[p] == '/') || (work[p] == '\\')) - { - work[p] = '\0'; - break; - } - - work[p--] = '\0'; - } // Get the current working directory if (getcwd(buffer, 1024) == NULL) + { return ""; - - if (chdir(work) == -1) - return ""; - - if (getcwd(otherdir, 1024) == NULL) - return ""; + } if (chdir(buffer) == -1) + { return ""; + } - return otherdir; + return buffer; } InspIRCd* ServerConfig::GetInstance() diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index d79b18c9d..03d6879ba 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -431,7 +431,7 @@ bool InspIRCd::IsIdent(const char* n) void InspIRCd::OpenLog(char** argv, int argc) { - Config->MyDir = ServerConfig::GetFullProgDir(argv,argc); + Config->MyDir = ServerConfig::GetFullProgDir(); if (!*this->LogFileName) { -- cgit v1.2.3