annotate mcabber/src/utils.c @ 77:32f54ad6d729

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