*/
/* $Core: libIRCDconfigreader */
+/* $CopyInstall: conf/inspircd.quotes.example $(CONPATH) */
+/* $CopyInstall: conf/inspircd.rules.example $(CONPATH) */
+/* $CopyInstall: conf/inspircd.motd.example $(CONPATH) */
+/* $CopyInstall: conf/inspircd.helpop-full.example $(CONPATH) */
+/* $CopyInstall: conf/inspircd.helpop.example $(CONPATH) */
+/* $CopyInstall: conf/inspircd.censor.example $(CONPATH) */
+/* $CopyInstall: conf/inspircd.filter.example $(CONPATH) */
+/* $CopyInstall: docs/inspircd.conf.example $(CONPATH) */
#include "inspircd.h"
#include <fstream>
/* Find 'parent' and inherit a new class from it,
* then overwrite any values that are set here
*/
- for (ClassVector::iterator item = conf->Classes.begin(); item != conf->Classes.end(); ++item)
+ ClassVector::iterator item = conf->Classes.begin();
+ for (; item != conf->Classes.end(); ++item)
{
ConnectClass* c = *item;
+ conf->GetInstance()->Log(DEBUG,"Class: %s", c->GetName().c_str());
if (c->GetName() == parent)
{
- ConnectClass* c = new ConnectClass(name, c);
- c->Update(timeout, flood, *allow ? allow : deny, pingfreq, password, threshold, sendq, recvq, localmax, globalmax, maxchans, port, limit);
- conf->Classes.push_back(c);
+ ConnectClass* newclass = new ConnectClass(name, c);
+ newclass->Update(timeout, flood, *allow ? allow : deny, pingfreq, password, threshold, sendq, recvq, localmax, globalmax, maxchans, port, limit);
+ conf->Classes.push_back(newclass);
+ break;
}
}
- throw CoreException("Class name '" + std::string(name) + "' is configured to inherit from class '" + std::string(parent) + "' which cannot be found.");
+ if (item == conf->Classes.end())
+ throw CoreException("Class name '" + std::string(name) + "' is configured to inherit from class '" + std::string(parent) + "' which cannot be found.");
}
else
{
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)
{
}
else
{
- errorstream << "Couldn't get config path from: " << confpath << std::endl;
+ errorstream << "Couldn't get config path from: " << ServerInstance->ConfigFileName << std::endl;
return false;
}
}