]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/configreader.cpp
2.0.1 release
[user/henk/code/inspircd.git] / src / configreader.cpp
index c0e9b5992dabf50b1f0d32859b9520ff132f0651..d6b479874d0a3412f7adf77212db59d221fd0f5e 100644 (file)
@@ -234,7 +234,7 @@ void ServerConfig::CrossCheckOperClassType()
                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;
@@ -691,19 +691,16 @@ void ServerConfig::Apply(ServerConfig* old, const std::string &useruid)
        {
                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();
@@ -727,7 +724,8 @@ void ServerConfig::Apply(ServerConfig* old, const std::string &useruid)
        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.");
 }