]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/helperfuncs.cpp
Fixes for config reader
[user/henk/code/inspircd.git] / src / helperfuncs.cpp
index 31f486a48c753ac06739410dd90edc4caa4f75e4..26a5db07c282111c338669c61875a397eda08812 100644 (file)
@@ -2,8 +2,8 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
  *
  * This program is free but copyrighted software; see
  *         the file COPYING for details.
@@ -14,7 +14,6 @@
 /* $Core */
 
 #include "inspircd.h"
-#include "wildcard.h"
 #include "xline.h"
 #include "exitcodes.h"
 
@@ -56,7 +55,7 @@ User* InspIRCd::FindNick(const char* nick)
                return FindUUID(nick);
 
        user_hash::iterator iter = this->Users->clientlist->find(nick);
-       
+
        if (iter == this->Users->clientlist->end())
                return NULL;
 
@@ -205,7 +204,7 @@ bool IsChannelHandler::Call(const char *chname, size_t max)
                c++;
        }
 
-       size_t len = c - chname;        
+       size_t len = c - chname;
        /* too long a name - note funky pointer arithmetic here. */
        if (len > max)
        {
@@ -220,7 +219,7 @@ bool IsNickHandler::Call(const char* n, size_t max)
 {
        if (!n || !*n)
                return false;
+
        unsigned int p = 0;
        for (const char* i = n; *i; i++, p++)
        {
@@ -307,37 +306,7 @@ bool InspIRCd::OpenLog(char**, int)
        {
                if (Config->logpath.empty())
                {
-                       std::string path = std::string(home) + "/.inspircd";
-                       // This tries to create the ~/.inspircd. If it succeeds, then we go ahead and use it.
-                       // If it fails due to an existing target, then we use it anyway.
-                       // Either way, we make sure we can get write access to the log at this point.
-                       if (!mkdir(path.c_str(), 0700) || errno == EEXIST)
-                       {
-                               /* Log to ~/.inspircd/ircd.log */
-                               Config->logpath = path + "/startup.log";
-                               FILE* fd = fopen(Config->logpath.c_str(), "a+");
-                               if (!fd)
-                               {
-                                       // Could not get write access... Why?
-                                       if (errno == ENOTDIR)
-                                               // ~/.inspircd is not actually a directory!
-                                               printf("\nWARNING: Unable to create directory: %s (Exists and is not a directory)\n", path.c_str());
-                                       else
-                                               // Not writable for some other reason (no +w access, readonly fs, file too big, whatever).
-                                               printf("\nWARNING: No write access to %s (%s)\n", Config->logpath.c_str(), strerror(errno));
-                                       Config->logpath = "./startup.log";
-                               }
-                               else
-                               {
-                                       Config->log_file = fd;
-                               }
-                       }
-                       else
-                       {
-                               /* Couldn't make ~/.inspircd directory, log to current dir */
-                               Config->logpath = "./startup.log";
-                               printf("\nWARNING: Unable to create directory: %s (%s)\n", path.c_str(), strerror(errno));
-                       }
+                       Config->logpath = "./startup.log";
                }
 
                if (!Config->log_file)
@@ -371,16 +340,6 @@ void InspIRCd::CheckRoot()
        }
 }
 
-void InspIRCd::CheckDie()
-{
-       if (*Config->DieValue)
-       {
-               printf("WARNING: %s\n\n",Config->DieValue);
-               this->Logs->Log("CONFIG",DEFAULT,"Died because of <die> tag: %s",Config->DieValue);
-               Exit(EXIT_STATUS_DIETAG);
-       }
-}
-
 void InspIRCd::SendWhoisLine(User* user, User* dest, int numeric, const std::string &text)
 {
        std::string copy_text = text;
@@ -403,7 +362,7 @@ void InspIRCd::SendWhoisLine(User* user, User* dest, int numeric, const char* fo
        this->SendWhoisLine(user, dest, numeric, std::string(textbuffer));
 }
 
-/** Refactored by Brain, Jun 2008. Much faster with some clever O(1) array
+/** Refactored by Brain, Jun 2009. Much faster with some clever O(1) array
  * lookups and pointer maths.
  */
 long InspIRCd::Duration(const std::string &str)
@@ -474,7 +433,7 @@ void InspIRCd::AddExtBanChar(char c)
 {
        std::string &tok = Config->data005;
        std::string::size_type ebpos;
-       
+
        if ((ebpos = tok.find(" EXTBAN=,")) == std::string::npos)
        {
                tok.append(" EXTBAN=,");