if (tblk == oper_blocks.end())
throw CoreException("Oper block " + name + " has missing type " + type);
if (oper_blocks.find(name) != oper_blocks.end())
- throw CoreException("Duplicate oper block with name " + name);
+ throw CoreException("Duplicate oper block with name " + name + " at " + tag->getTagLocation());
OperInfo* ifo = new OperInfo;
ifo->name = type;
{
std::string line;
getline(errstr, line, '\n');
- if (!line.empty())
- {
- if (user)
- user->WriteServ("NOTICE %s :*** %s", user->nick.c_str(), line.c_str());
- else
- ServerInstance->SNO->WriteGlobalSno('a', line);
- }
-
+ if (line.empty())
+ continue;
+ // On startup, print out to console (still attached at this point)
if (!old)
- {
- // Starting up, so print it out so it's seen. XXX this is a bit of a hack.
printf("%s\n", line.c_str());
- }
+ // If a user is rehashing, tell them directly
+ if (user)
+ user->SendText(":%s NOTICE %s :*** %s", ServerInstance->Config->ServerName.c_str(), user->nick.c_str(), line.c_str());
+ // Also tell opers
+ ServerInstance->SNO->WriteGlobalSno('a', line);
}
errstr.clear();
ApplyModules(user);
if (user)
- user->WriteServ("NOTICE %s :*** Successfully rehashed server.", user->nick.c_str());
+ user->SendText(":%s NOTICE %s :*** Successfully rehashed server.",
+ ServerInstance->Config->ServerName.c_str(), user->nick.c_str());
ServerInstance->SNO->WriteGlobalSno('a', "*** Successfully rehashed server.");
}