diff options
| author | 2010-03-04 16:19:05 -0600 | |
|---|---|---|
| committer | 2010-08-03 17:32:39 -0400 | |
| commit | 79b10a91f50757c9b82164fe34cefd8514b665d4 (patch) | |
| tree | 2bddfea2be6a43ab9ae218a647c509cf1d5984e3 /src/configreader.cpp | |
| parent | Compile fix (diff) | |
Allow <oper:classes> to specify classes in addition to <type:classes>
Diffstat (limited to 'src/configreader.cpp')
| -rw-r--r-- | src/configreader.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/configreader.cpp b/src/configreader.cpp index eca203a6c..8be723c10 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -264,6 +264,16 @@ void ServerConfig::CrossCheckOperClassType() ifo->type_block = tblk->second->type_block; ifo->class_blocks.assign(tblk->second->class_blocks.begin(), tblk->second->class_blocks.end()); oper_blocks[name] = ifo; + + std::string classname; + irc::spacesepstream str(tag->getString("classes")); + while (str.GetToken(classname)) + { + LocalIndex::iterator cls = operclass.find(classname); + if (cls == operclass.end()) + throw CoreException("Oper " + name + " has missing class " + classname); + ifo->class_blocks.push_back(cls->second); + } } } |
