# HG changeset patch # User mikael # Date 1114714063 0 # Node ID 250f872c722fb0cb749cea14857ad3ff026bc4a9 # Parent b59cb0c97dfa603509bb3088541da16660b5f0f8 [/trunk] Changeset 150 by mikael * Debug defaults to disabled, but can be enabled with the "debug" option. diff -r b59cb0c97dfa -r 250f872c722f mcabber/src/main.c --- a/mcabber/src/main.c Thu Apr 28 17:58:40 2005 +0000 +++ b/mcabber/src/main.c Thu Apr 28 18:47:43 2005 +0000 @@ -84,7 +84,7 @@ credits(); /* SET THIS >0 TO ENABLE LOG */ - ut_InitDebug(1); + ut_InitDebug(0, NULL); ut_WriteLog("Setting signals handlers...\n"); signal(SIGTERM, sig_handler); @@ -116,6 +116,10 @@ ut_WriteLog("Parsing config file...\n"); cfg_file(configFile); + optstring = cfg_read("debug"); + if (optstring) + ut_InitDebug(1, optstring); + servername = cfg_read("server"); username = cfg_read("username"); password = cfg_read("password"); diff -r b59cb0c97dfa -r 250f872c722f mcabber/src/utils.c --- a/mcabber/src/utils.c Thu Apr 28 17:58:40 2005 +0000 +++ b/mcabber/src/utils.c Thu Apr 28 18:47:43 2005 +0000 @@ -7,18 +7,28 @@ static int DebugEnabled; static char *FName; -void ut_InitDebug(int level) +void ut_InitDebug(unsigned int level, char *filename) { FILE *fp; - FName = getenv("HOME"); - if (!FName) - FName = "/tmp/mcabberlog"; + if (!level) { + DebugEnabled = 0; + FName = NULL; + return; + } + + if (filename) + FName = strdup(filename); else { - char *tmpname = malloc(strlen(FName) + 12); - strcpy(tmpname, FName); - strcat(tmpname, "/mcabberlog"); - FName = tmpname; + FName = getenv("HOME"); + if (!FName) + FName = "/tmp/mcabberlog"; + else { + char *tmpname = malloc(strlen(FName) + 12); + strcpy(tmpname, FName); + strcat(tmpname, "/mcabberlog"); + FName = tmpname; + } } DebugEnabled = level; @@ -37,7 +47,7 @@ va_list ap; char *buffer = NULL; - if (DebugEnabled) { + if (DebugEnabled && FName) { fp = fopen(FName, "a+"); if (!fp) return; buffer = (char *) calloc(1, 64); diff -r b59cb0c97dfa -r 250f872c722f mcabber/src/utils.h --- a/mcabber/src/utils.h Thu Apr 28 17:58:40 2005 +0000 +++ b/mcabber/src/utils.h Thu Apr 28 18:47:43 2005 +0000 @@ -1,7 +1,7 @@ #ifndef __UTILS_H__ #define __UTILS_H__ 1 -void ut_InitDebug(int level); +void ut_InitDebug(unsigned int level, char *file); void ut_WriteLog(const char *fmt, ...); #endif