annotate mcabber/src/utils.c @ 211:0627546a21fe

[/trunk] Changeset 223 by mikael * pinginterval was set to 0, but should IMHO be keeped at the default value...
author mikael
date Sun, 08 May 2005 11:24:01 +0000
parents 250f872c722f
children 8584f919d9b9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
1 #include <stdio.h>
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
2 #include <stdlib.h>
77
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
3 #include <string.h>
24
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
4 #include <stdarg.h>
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
5 #include <time.h>
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
6
76
a8f8492abd44 [/trunk] Changeset 90 by mikael
mikael
parents: 24
diff changeset
7 static int DebugEnabled;
77
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
8 static char *FName;
24
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
9
138
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
10 void ut_InitDebug(unsigned int level, char *filename)
24
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
11 {
77
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
12 FILE *fp;
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
13
138
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
14 if (!level) {
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
15 DebugEnabled = 0;
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
16 FName = NULL;
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
17 return;
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
18 }
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
19
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
20 if (filename)
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
21 FName = strdup(filename);
77
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
22 else {
138
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
23 FName = getenv("HOME");
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
24 if (!FName)
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
25 FName = "/tmp/mcabberlog";
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
26 else {
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
27 char *tmpname = malloc(strlen(FName) + 12);
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
28 strcpy(tmpname, FName);
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
29 strcat(tmpname, "/mcabberlog");
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
30 FName = tmpname;
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
31 }
77
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
32 }
24
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
33
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
34 DebugEnabled = level;
76
a8f8492abd44 [/trunk] Changeset 90 by mikael
mikael
parents: 24
diff changeset
35
77
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
36 fp = fopen(FName, "w");
76
a8f8492abd44 [/trunk] Changeset 90 by mikael
mikael
parents: 24
diff changeset
37 if (!fp) return;
24
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
38 fprintf(fp, "Debugging mode started...\n"
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
39 "-----------------------------------\n");
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
40 fclose(fp);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
41 }
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
42
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
43 void ut_WriteLog(const char *fmt, ...)
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
44 {
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
45 FILE *fp = NULL;
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
46 time_t ahora;
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
47 va_list ap;
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
48 char *buffer = NULL;
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
49
138
250f872c722f [/trunk] Changeset 150 by mikael
mikael
parents: 81
diff changeset
50 if (DebugEnabled && FName) {
77
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
51 fp = fopen(FName, "a+");
76
a8f8492abd44 [/trunk] Changeset 90 by mikael
mikael
parents: 24
diff changeset
52 if (!fp) return;
24
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
53 buffer = (char *) calloc(1, 64);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
54
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
55 ahora = time(NULL);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
56 strftime(buffer, 64, "[%H:%M:%S] ", localtime(&ahora));
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
57 fprintf(fp, "%s", buffer);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
58
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
59 va_start(ap, fmt);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
60 vfprintf(fp, fmt, ap);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
61 va_end(ap);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
62
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
63 free(buffer);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
64 fclose(fp);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
65 }
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
66 }
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
67