+
+ return iter->c_str();
+}
+
+bool FindServerName(const std::string &servername)
+{
+ return (find(servernames.begin(), servernames.end(), servername) != servernames.end());
+}
+
+void Exit(int status)
+{
+ if (Config->log_file)
+ fclose(Config->log_file);
+ send_error("Server shutdown.");
+ exit (status);
+}
+
+void InspIRCd::Start()
+{
+ printf("\033[1;32mInspire Internet Relay Chat Server, compiled %s at %s\n",__DATE__,__TIME__);
+ printf("(C) ChatSpike Development team.\033[0m\n\n");
+ printf("Developers:\t\t\033[1;32mBrain, FrostyCoolSlug, w00t, Om, Special\033[0m\n");
+ printf("Others:\t\t\t\033[1;32mSee /INFO Output\033[0m\n");
+ printf("Name concept:\t\t\033[1;32mLord_Zathras\033[0m\n\n");
+}
+
+void Killed(int status)
+{
+ if (Config->log_file)
+ fclose(Config->log_file);
+ send_error("Server terminated.");
+ exit(status);
+}
+
+void Rehash(int status)
+{
+ WriteOpers("Rehashing config file %s due to SIGHUP",CleanFilename(CONFIG_FILE));
+ fclose(Config->log_file);
+ OpenLog(NULL,0);
+ Config->Read(false,NULL);
+ FOREACH_MOD(I_OnRehash,OnRehash(""));
+}
+
+void InspIRCd::SetSignals()
+{
+ signal (SIGALRM, SIG_IGN);
+ signal (SIGHUP, Rehash);
+ signal (SIGPIPE, SIG_IGN);
+ signal (SIGTERM, Exit);
+ signal (SIGSEGV, Error);