From ebb892cdfd85ad40f5fa130c43bda0ed55a98c56 Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 17 Dec 2006 00:35:05 +0000 Subject: If the caller said no linefeeds, dont bail, instead just turn the linefeeds into spaces, so that "aaaa bbbb" becomes "aaaa bbbb". git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6022 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/configreader.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/configreader.cpp b/src/configreader.cpp index 682dbeb38..144c0f0a8 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -1300,18 +1300,21 @@ bool ServerConfig::ConfValue(ConfigDataHash &target, const std::string &tag, con ConfigDataHash::size_type pos = index; if((pos >= 0) && (pos < target.count(tag))) { - ConfigDataHash::const_iterator iter = target.find(tag); + ConfigDataHash::iterator iter = target.find(tag); for(int i = 0; i < index; i++) iter++; - for(KeyValList::const_iterator j = iter->second.begin(); j != iter->second.end(); j++) + for(KeyValList::iterator j = iter->second.begin(); j != iter->second.end(); j++) { if(j->first == var) { if ((!allow_linefeeds) && (j->second.find('\n') != std::string::npos)) { - throw CoreException("Value of <" + tag + ":" + var+ "> contains a linefeed, and linefeeds in this value are not permitted"); + ServerInstance->Log(DEFAULT, "Value of <" + tag + ":" + var+ "> contains a linefeed, and linefeeds in this value are not permitted -- stripped to spaces."); + for (std::string::iterator n = j->second.begin(); n != j->second.end(); n++) + if (*n == '\n') + *n == ' '; } else { -- cgit v1.2.3