diff options
Diffstat (limited to 'src/configreader.cpp')
-rw-r--r-- | src/configreader.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/configreader.cpp b/src/configreader.cpp index 1059770b4..e0e249963 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -1271,7 +1271,21 @@ bool ServerConfig::ReadFile(file_cache &F, const char* fname) char linebuf[MAXBUF]; F.clear(); - file = fopen(fname, "r"); + + if (*fname != '/') + { + std::string::size_type pos; + std::string confpath = CONFIG_FILE; + if((pos = confpath.find("/inspircd.conf")) != std::string::npos) + { + /* Leaves us with just the path */ + std::string newfile = confpath.substr(0, pos) + std::string("/") + newfile; + file = fopen(newfile.c_str(), "r"); + + } + } + else + file = fopen(fname, "r"); if (file) { |