diff options
| author | 2007-10-27 14:32:24 +0000 | |
|---|---|---|
| committer | 2007-10-27 14:32:24 +0000 | |
| commit | fa6b96d825fc4d180acf25770cf9bbca561d637a (patch) | |
| tree | 0474340247d3e558b8b26998faf5d674a1358b85 /src/configreader.cpp | |
| parent | the minidump stuff is only available in 5.1 dbghelp.dll which is xp and above... (diff) | |
Fix for bug in windows with backslash directory seperators in config path when used with <include> tag and a relative include path, reported by daurnimator
git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8387 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/configreader.cpp')
| -rw-r--r-- | src/configreader.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/configreader.cpp b/src/configreader.cpp index 84b5087d5..89987a328 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -1285,15 +1285,10 @@ bool ServerConfig::DoInclude(ConfigDataHash &target, const std::string &file, st confpath = ServerInstance->ConfigFileName; newfile = file; - for (std::string::iterator c = newfile.begin(); c != newfile.end(); c++) - { - if (*c == '\\') - { - *c = '/'; - } - } + std::replace(newfile.begin(),newfile.end(),'\\','/'); + std::replace(confpath.begin(),confpath.end(),'\\','/'); - if (file[0] != '/') + if (newfile[0] != '/') { if((pos = confpath.rfind("/")) != std::string::npos) { @@ -1302,7 +1297,7 @@ bool ServerConfig::DoInclude(ConfigDataHash &target, const std::string &file, st } else { - errorstream << "Couldn't get config path from: " << confpath << std::endl; + errorstream << "Couldn't get config path from: " << ServerInstance->ConfigFileName << std::endl; return false; } } |
