]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/inspircd.cpp
Allow forward linking compatability by accepting higher protocol version numbers...
[user/henk/code/inspircd.git] / src / inspircd.cpp
index 5a792b884926c0b09cb9b178e2cbc2cc00e010e8..5321aaee909ce1165c2e4434a2608367c5f21ba3 100644 (file)
@@ -465,7 +465,7 @@ InspIRCd::InspIRCd(int argc, char** argv)
                        default:
                                /* Fall through to handle other weird values too */
                                printf("Unknown parameter '%s'\n", argv[optind-1]);
-                               printf("Usage: %s [--nofork] [--nolog] [--debug] [--logfile <filename>]\n%*s[--runasroot] [--version] [--config <config>] [--testsuite]\n", argv[0], 8+strlen(argv[0]), " ");
+                               printf("Usage: %s [--nofork] [--nolog] [--debug] [--logfile <filename>]\n%*s[--runasroot] [--version] [--config <config>] [--testsuite]\n", argv[0], static_cast<int>(8+strlen(argv[0])), " ");
                                Exit(EXIT_STATUS_ARGV);
                        break;
                }
@@ -495,7 +495,7 @@ InspIRCd::InspIRCd(int argc, char** argv)
        WSAStartup(MAKEWORD(2,0), &wsadata);
        ChangeWindowsSpecificPointers(this);
 #endif
-       strlcpy(Config->MyExecutable,argv[0],MAXBUF);
+       Config->MyExecutable = argv[0];
 
        /* Set the finished argument values */
        Config->nofork = do_nofork;
@@ -536,8 +536,6 @@ InspIRCd::InspIRCd(int argc, char** argv)
        printf_c("\t\033[1;32mpeavey, aquanight, psychon, dz, danieldg\033[0m\n\n");
        printf_c("Others:\t\t\t\033[1;32mSee /INFO Output\033[0m\n");
 
-       Config->ClearStack();
-
        this->Modes = new ModeParser(this);
 
        if (!do_root)
@@ -613,7 +611,6 @@ InspIRCd::InspIRCd(int argc, char** argv)
        this->XLines->CheckELines();
        this->XLines->ApplyLines();
 
-       CheckDie();
        int bounditems = BindPorts(pl);
 
        printf("\n");
@@ -622,7 +619,7 @@ InspIRCd::InspIRCd(int argc, char** argv)
 
        /* Just in case no modules were loaded - fix for bug #101 */
        this->BuildISupport();
-       InitializeDisabledCommands(Config->DisabledCommands, this);
+       Config->ApplyDisabledCommands(Config->DisabledCommands);
 
        if (!pl.empty())
        {
@@ -767,26 +764,7 @@ int InspIRCd::Run()
                        /* Rehash has completed */
                        this->Logs->Log("CONFIG",DEBUG,"Detected ConfigThread exiting, tidying up...");
 
-                       /* Switch over logfiles */
-                       Logs->CloseLogs();
-                       Logs->OpenFileLogs();
-
-                       /*
-                        * Apply the changed configuration from the rehash. This is not done within the
-                        * configuration thread becasuse they may invoke functions that are not threadsafe.
-                        *
-                        * XXX: The order of these is IMPORTANT, do not reorder them without testing
-                        * thoroughly!!!
-                        */
                        this->ConfigThread->Finish();
-                       this->XLines->CheckELines();
-                       this->XLines->ApplyLines();
-                       this->Res->Rehash();
-                       this->ResetMaxBans();
-                       InitializeDisabledCommands(Config->DisabledCommands, this);
-                       User* user = ConfigThread->TheUserUID.empty() ? FindNick(ConfigThread->TheUserUID) : NULL;
-                       FOREACH_MOD_I(this, I_OnRehash, OnRehash(user));
-                       this->BuildISupport();
 
                        ConfigThread->join();
                        delete ConfigThread;