[/trunk] Changeset 150 by mikael
* Debug defaults to disabled, but can be enabled with the "debug" option.
--- 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