From fa6b96d825fc4d180acf25770cf9bbca561d637a Mon Sep 17 00:00:00 2001 From: brain Date: Sat, 27 Oct 2007 14:32:24 +0000 Subject: [PATCH] Fix for bug in windows with backslash directory seperators in config path when used with 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 --- src/configreader.cpp | 13 ++++--------- 1 file 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; } }