diff options
author | om <om@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-04-07 12:21:11 +0000 |
---|---|---|
committer | om <om@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-04-07 12:21:11 +0000 |
commit | e21c3bb1408eea41d8f7c6dfbe2a58d023feada7 (patch) | |
tree | f52e676ab23434f52e6df83094072b292b517349 /src | |
parent | 69d39e088765b39b21094ea57e298ef9b429a20e (diff) |
Slight optimisation to config reader, looks nicer even if it's not faster.
Make ./inspircd script use -nolog (it already used -debug, which didn't exist until now!?)
Add commandline options -nolog and -debug, -debug forces all log messages to be output regardless of level. -nolog stops the logfile
being written, so you can run with -debug without filling up your disk.
make clean && make install, apparently some of the core doesn't depend on inspircd_io.h in the makefiles..so it'll probably segfault if
you don't.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3841 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/helperfuncs.cpp | 15 | ||||
-rw-r--r-- | src/inspircd.cpp | 15 | ||||
-rw-r--r-- | src/inspircd_io.cpp | 6 |
3 files changed, 22 insertions, 14 deletions
diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index 034976fb7..46a85da2c 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -77,7 +77,8 @@ void log(int level, char *text, ...) va_list argsPtr; char textbuffer[MAXBUF]; - if (level < Config->LogLevel) + /* If we were given -debug we output all messages, regardless of configured loglevel */ + if ((level < Config->LogLevel) && !Config->forcedebug) return; if (TIME != LAST) @@ -95,13 +96,13 @@ void log(int level, char *text, ...) vsnprintf(textbuffer, MAXBUF, text, argsPtr); va_end(argsPtr); - if (Config->log_file) + if (Config->writelog) fprintf(Config->log_file,"%s %s\n",TIMESTR,textbuffer); - - if (Config->nofork) - { - printf("%s %s\n", TIMESTR, textbuffer); - } + } + + if (Config->nofork) + { + printf("%s %s\n", TIMESTR, textbuffer); } } diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 5d77e6d75..79a6f1976 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -171,15 +171,23 @@ InspIRCd::InspIRCd(int argc, char** argv) { Config->nofork = true; } - if (!strcmp(argv[i],"-wait")) + else if(!strcmp(argv[i],"-debug")) + { + Config->forcedebug = true; + } + else if(!strcmp(argv[i],"-nolog")) + { + Config->writelog = false; + } + else if (!strcmp(argv[i],"-wait")) { sleep(6); } - if (!strcmp(argv[i],"-nolimit")) + else if (!strcmp(argv[i],"-nolimit")) { printf("WARNING: The `-nolimit' option is deprecated, and now on by default. This behaviour may change in the future.\n"); } - if (!strcmp(argv[i],"-logfile")) + else if (!strcmp(argv[i],"-logfile")) { if (argc > i+1) { @@ -867,4 +875,3 @@ int main(int argc, char** argv) } return 0; } - diff --git a/src/inspircd_io.cpp b/src/inspircd_io.cpp index 9753e182e..ddad3d388 100644 --- a/src/inspircd_io.cpp +++ b/src/inspircd_io.cpp @@ -52,8 +52,8 @@ ServerConfig::ServerConfig() *CustomVersion = *motd = *rules = *PrefixQuit = *DieValue = *DNSServer = '\0'; *OperOnlyStats = *ModPath = *MyExecutable = *DisabledCommands = *PID = '\0'; log_file = NULL; - OperSpyWhois = nofork = HideBans = HideSplits = false; - AllowHalfop = true; + forcedebug = OperSpyWhois = nofork = HideBans = HideSplits = false; + writelog = AllowHalfop = true; dns_timeout = DieDelay = 5; MaxTargets = 20; NetBufferSize = 10240; @@ -1320,7 +1320,7 @@ bool ServerConfig::ConfValueBool(ConfigDataHash &target, const std::string &tag, int ServerConfig::ConfValueEnum(ConfigDataHash &target, const char* tag) { - return ConfValueEnum(target, std::string(tag)); + return target.count(tag); } int ServerConfig::ConfValueEnum(ConfigDataHash &target, const std::string &tag) |