diff mcabber/src/utils.c @ 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 0bd578421ce9
children 8584f919d9b9
line wrap: on
line diff
--- 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);