changeset 138:250f872c722f

[/trunk] Changeset 150 by mikael * Debug defaults to disabled, but can be enabled with the "debug" option.
author mikael
date Thu, 28 Apr 2005 18:47:43 +0000
parents b59cb0c97dfa
children 8d7e31d37bec
files mcabber/src/main.c mcabber/src/utils.c mcabber/src/utils.h
diffstat 3 files changed, 25 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- 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");
--- 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);
--- 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