The code to work out the path seems to work fine now on freebsd and linux, still to test on win

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7211 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
brain 2007-06-02 14:38:45 +00:00
parent 0c73dcfdb1
commit 115c025e67

View File

@ -1629,19 +1629,16 @@ std::string ServerConfig::GetFullProgDir()
// Get the current working directory
if (getcwd(buffer, PATH_MAX))
{
ServerInstance->Log(DEBUG,"getcwd='%s', argv[0]='%s'", buffer, this->argv[0]);
std::string remainder = this->argv[0];
/* Does argv[0] start with /? its a full path, use it */
if (remainder[0] == '/')
{
ServerInstance->Log(DEBUG,"argv starts with slash, using for full path.");
std::string::size_type n = remainder.rfind("/inspircd");
return std::string(remainder, 0, n);
}
std::string fullpath = std::string(buffer) + "/" + remainder;
ServerInstance->Log(DEBUG,"Using concatenation: %s", fullpath.c_str());
std::string::size_type n = fullpath.rfind("/inspircd");
return std::string(fullpath, 0, n);
}