annotate mcabber/src/utils.c @ 122:235fdd5bfd5d

[/trunk] Changeset 135 by mikael * TODO update
author mikael
date Tue, 26 Apr 2005 09:37:05 +0000
parents 0bd578421ce9
children 250f872c722f
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
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
10 void ut_InitDebug(int level)
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
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
14 FName = getenv("HOME");
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
15 if (!FName)
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
16 FName = "/tmp/mcabberlog";
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
17 else {
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
18 char *tmpname = malloc(strlen(FName) + 12);
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
19 strcpy(tmpname, FName);
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
20 strcat(tmpname, "/mcabberlog");
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
21 FName = tmpname;
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
22 }
24
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
23
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
24 DebugEnabled = level;
76
a8f8492abd44 [/trunk] Changeset 90 by mikael
mikael
parents: 24
diff changeset
25
77
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
26 fp = fopen(FName, "w");
76
a8f8492abd44 [/trunk] Changeset 90 by mikael
mikael
parents: 24
diff changeset
27 if (!fp) return;
24
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
28 fprintf(fp, "Debugging mode started...\n"
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
29 "-----------------------------------\n");
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
30 fclose(fp);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
31 }
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
32
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
33 void ut_WriteLog(const char *fmt, ...)
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
34 {
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
35 FILE *fp = NULL;
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
36 time_t ahora;
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
37 va_list ap;
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
38 char *buffer = NULL;
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
39
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
40 if (DebugEnabled) {
77
32f54ad6d729 [/trunk] Changeset 91 by mikael
mikael
parents: 76
diff changeset
41 fp = fopen(FName, "a+");
76
a8f8492abd44 [/trunk] Changeset 90 by mikael
mikael
parents: 24
diff changeset
42 if (!fp) return;
24
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
43 buffer = (char *) calloc(1, 64);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
44
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
45 ahora = time(NULL);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
46 strftime(buffer, 64, "[%H:%M:%S] ", localtime(&ahora));
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
47 fprintf(fp, "%s", buffer);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
48
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
49 va_start(ap, fmt);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
50 vfprintf(fp, fmt, ap);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
51 va_end(ap);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
52
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
53 free(buffer);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
54 fclose(fp);
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
55 }
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
56 }
e88b15cbf2de [/trunk] Changeset 40 by mikael
mikael
parents:
diff changeset
57