std::string ServerConfig::GetFullProgDir()
{
- char buffer[1024];
+ char buffer[PATH_MAX+1];
// Get the current working directory
- if (getcwd(buffer, 1024))
+ if (getcwd(buffer, PATH_MAX))
{
std::string remainder = this->argv[0];
/* Does argv[0] start with /? its a full path, use it */
if (remainder[0] == '/')
- return remainder;
+ {
+ std::string::size_type n = remainder.rfind("/inspircd");
+ return std::string(remainder, 0, n);
+ }
- return std::string(buffer) + "/" + remainder;
+ std::string fullpath = std::string(buffer) + "/" + remainder;
+ std::string::size_type n = fullpath.rfind("/inspircd");
+ return std::string(fullpath, 0, n);
}
return "/";