Mercurial > pidgin
annotate src/debug.c @ 7520:f25119847c5b
[gaim-migrate @ 8133]
If debug ops have not been set fall back to printf in gaim_debug
committer: Tailor Script <tailor@pidgin.im>
author | Herman Bloggs <hermanator12002@yahoo.com> |
---|---|
date | Sun, 16 Nov 2003 01:46:19 +0000 |
parents | feb3d21a7794 |
children | 7398a8d6862d |
rev | line source |
---|---|
5212 | 1 /** |
2 * @file debug.c Debug API | |
3 * @ingroup core | |
4 * | |
5 * gaim | |
6 * | |
7 * Copyright (C) 2002-2003, Christian Hammond <chipx86@gnupdate.org> | |
6483
565339a6eb86
[gaim-migrate @ 6997]
Christian Hammond <chipx86@chipx86.com>
parents:
5212
diff
changeset
|
8 * |
5212 | 9 * This program is free software; you can redistribute it and/or modify |
10 * it under the terms of the GNU General Public License as published by | |
11 * the Free Software Foundation; either version 2 of the License, or | |
12 * (at your option) any later version. | |
13 * | |
14 * This program is distributed in the hope that it will be useful, | |
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 * GNU General Public License for more details. | |
18 * | |
19 * You should have received a copy of the GNU General Public License | |
20 * along with this program; if not, write to the Free Software | |
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
22 */ | |
23 #include "debug.h" | |
7520
f25119847c5b
[gaim-migrate @ 8133]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7035
diff
changeset
|
24 #include <stdio.h> |
5212 | 25 #include <stdlib.h> |
26 #include <glib.h> | |
27 | |
28 static GaimDebugUiOps *debug_ui_ops = NULL; | |
29 | |
30 void | |
31 gaim_debug_vargs(GaimDebugLevel level, const char *category, | |
32 const char *format, va_list args) | |
33 { | |
34 GaimDebugUiOps *ops; | |
35 | |
36 g_return_if_fail(level != GAIM_DEBUG_ALL); | |
37 g_return_if_fail(format != NULL); | |
38 | |
7035
feb3d21a7794
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6721
diff
changeset
|
39 ops = gaim_debug_get_ui_ops(); |
5212 | 40 |
41 if (ops != NULL && ops->print != NULL) | |
42 ops->print(level, category, format, args); | |
7520
f25119847c5b
[gaim-migrate @ 8133]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7035
diff
changeset
|
43 else { |
f25119847c5b
[gaim-migrate @ 8133]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7035
diff
changeset
|
44 /* fallback for pre ops init period */ |
f25119847c5b
[gaim-migrate @ 8133]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7035
diff
changeset
|
45 char *str = g_strdup_vprintf(format, args); |
f25119847c5b
[gaim-migrate @ 8133]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7035
diff
changeset
|
46 printf("%s%s%s", category?category:"", category?": ":"",str); |
f25119847c5b
[gaim-migrate @ 8133]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7035
diff
changeset
|
47 g_free(str); |
f25119847c5b
[gaim-migrate @ 8133]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7035
diff
changeset
|
48 } |
5212 | 49 } |
50 | |
51 void | |
52 gaim_debug(GaimDebugLevel level, const char *category, | |
53 const char *format, ...) | |
54 { | |
55 va_list args; | |
56 | |
57 g_return_if_fail(level != GAIM_DEBUG_ALL); | |
58 g_return_if_fail(format != NULL); | |
59 | |
60 va_start(args, format); | |
61 gaim_debug_vargs(level, category, format, args); | |
62 va_end(args); | |
63 } | |
64 | |
65 void | |
6721
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
66 gaim_debug_misc(const char *category, const char *format, ...) |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
67 { |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
68 va_list args; |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
69 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
70 g_return_if_fail(format != NULL); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
71 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
72 va_start(args, format); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
73 gaim_debug_vargs(GAIM_DEBUG_MISC, category, format, args); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
74 va_end(args); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
75 } |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
76 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
77 void |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
78 gaim_debug_info(const char *category, const char *format, ...) |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
79 { |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
80 va_list args; |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
81 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
82 g_return_if_fail(format != NULL); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
83 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
84 va_start(args, format); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
85 gaim_debug_vargs(GAIM_DEBUG_INFO, category, format, args); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
86 va_end(args); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
87 } |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
88 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
89 void |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
90 gaim_debug_warning(const char *category, const char *format, ...) |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
91 { |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
92 va_list args; |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
93 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
94 g_return_if_fail(format != NULL); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
95 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
96 va_start(args, format); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
97 gaim_debug_vargs(GAIM_DEBUG_WARNING, category, format, args); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
98 va_end(args); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
99 } |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
100 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
101 void |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
102 gaim_debug_error(const char *category, const char *format, ...) |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
103 { |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
104 va_list args; |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
105 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
106 g_return_if_fail(format != NULL); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
107 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
108 va_start(args, format); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
109 gaim_debug_vargs(GAIM_DEBUG_ERROR, category, format, args); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
110 va_end(args); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
111 } |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
112 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
113 void |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
114 gaim_debug_fatal(const char *category, const char *format, ...) |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
115 { |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
116 va_list args; |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
117 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
118 g_return_if_fail(format != NULL); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
119 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
120 va_start(args, format); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
121 gaim_debug_vargs(GAIM_DEBUG_FATAL, category, format, args); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
122 va_end(args); |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
123 } |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
124 |
acc4376ce062
[gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents:
6483
diff
changeset
|
125 void |
7035
feb3d21a7794
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6721
diff
changeset
|
126 gaim_debug_set_ui_ops(GaimDebugUiOps *ops) |
5212 | 127 { |
128 debug_ui_ops = ops; | |
129 } | |
130 | |
131 GaimDebugUiOps * | |
7035
feb3d21a7794
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6721
diff
changeset
|
132 gaim_debug_get_ui_ops(void) |
5212 | 133 { |
134 return debug_ui_ops; | |
135 } |