- /* Set the finished argument values */
- Config->nofork = do_nofork;
- Config->forcedebug = do_debug;
- Config->writelog = !do_nolog;
- Config->ClearStack();
- Config->Read(true, NULL);
-
- // Get XLine to do it's thing.
- this->XLines->CheckELines();
- this->XLines->ApplyLines();
-
- /*
- * Initialise SID/UID.
- * For an explanation as to exactly how this works, and why it works this way, see GetUID().
- * -- w00t
- */
- /* Generate SID */
- size_t sid = 0;
- if (Config->sid)
- {
- sid = Config->sid;
- }
- else
- {
- for (const char* x = Config->ServerName; *x; ++x)
- sid = 5 * sid + *x;
- for (const char* y = Config->ServerDesc; *y; ++y)
- sid = 5 * sid + *y;
- sid = sid % 999;
-
- Config->sid = sid;
- }
-
- this->InitialiseUID();
-
- /* set up fake client */
- this->FakeClient = new User(this);
- this->FakeClient->SetFd(FD_MAGIC_NUMBER);