annotate src/debug.c @ 11261:b53606580f68

[gaim-migrate @ 13439] Patch #1226486 from Levi Bard Fixes bug #1224178 If you change the topic in a chat room and that topic change is rejected, the topic field is wrong -- it shows the new topic even thought it didn't get set. This patch resets the GUI's topic immediately when you hit enter. Then, if the topic change is successful, the server will echo the topic change back to us and we'll update the GUI to the new topic. The only question is, does the server always echo the topic back to us? From the core's point of view, I'm ready to assume yes. It's the case for both IRC and Jabber*. If someone could test changing a topic in SILC or Zephyr, that'd be great. If servers using those protocols do not echo the topic back, the prpl will have to fake it as appropriate. * I didn't actually test on Jabber, but Nathan said the server will echo the topic change back. If it's broken, let me know. committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Sun, 14 Aug 2005 06:55:57 +0000
parents bb0d7b719af2
children 921f64947cad
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5212
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 * @file debug.c Debug API
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 * @ingroup core
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 * gaim
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 *
8046
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7525
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7525
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7525
diff changeset
9 * source distribution.
6483
565339a6eb86 [gaim-migrate @ 6997]
Christian Hammond <chipx86@chipx86.com>
parents: 5212
diff changeset
10 *
5212
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * (at your option) any later version.
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 *
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * GNU General Public License for more details.
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 *
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 */
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 #include "debug.h"
10307
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
26 #include "internal.h"
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
27 #include "prefs.h"
5212
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29 static GaimDebugUiOps *debug_ui_ops = NULL;
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30
10307
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
31 /*
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
32 * This determines whether debug info should be written to the
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
33 * console or not.
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
34 *
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
35 * It doesn't make sense to make this a normal Gaim preference
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
36 * because it's a command line option. This will always be FALSE,
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
37 * unless the user explicitly started Gaim with the -d flag.
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
38 * It doesn't matter what this value was the last time Gaim was
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
39 * started, so it doesn't make sense to save it in prefs.
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
40 */
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
41 static gboolean debug_enabled = FALSE;
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
42
11033
50224ac8184d [gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents: 10448
diff changeset
43 /* XXX I want to make this static but gg uses this for internal debug level
50224ac8184d [gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents: 10448
diff changeset
44 * stuff and I don't really feel like unwrapping it right now. -Etan */
5212
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 void
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46 gaim_debug_vargs(GaimDebugLevel level, const char *category,
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 const char *format, va_list args)
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48 {
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
49 GaimDebugUiOps *ops;
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51 g_return_if_fail(level != GAIM_DEBUG_ALL);
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52 g_return_if_fail(format != NULL);
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53
10307
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
54 if (debug_enabled) {
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
55 gchar *arg_s, *ts_s;
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
56
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
57 arg_s = g_strdup_vprintf(format, args);
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
58
10448
6a20307ef8dc [gaim-migrate @ 11713]
Mark Doliner <mark@kingant.net>
parents: 10307
diff changeset
59 if ((category != NULL) &&
6a20307ef8dc [gaim-migrate @ 11713]
Mark Doliner <mark@kingant.net>
parents: 10307
diff changeset
60 (gaim_prefs_exists("/core/debug/timestamps")) &&
6a20307ef8dc [gaim-migrate @ 11713]
Mark Doliner <mark@kingant.net>
parents: 10307
diff changeset
61 (gaim_prefs_get_bool("/core/debug/timestamps"))) {
10307
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
62 gchar mdate[64];
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
63
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
64 time_t mtime = time(NULL);
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
65 strftime(mdate, sizeof(mdate), "%H:%M:%S", localtime(&mtime));
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
66 ts_s = g_strdup_printf("(%s) ", mdate);
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
67 } else {
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
68 ts_s = g_strdup("");
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
69 }
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
70
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
71 if (category == NULL)
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
72 g_print("%s%s", ts_s, arg_s);
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
73 else
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
74 g_print("%s%s: %s", ts_s, category, arg_s);
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
75
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
76 g_free(arg_s);
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
77 g_free(ts_s);
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
78 }
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
79
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6721
diff changeset
80 ops = gaim_debug_get_ui_ops();
5212
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
81
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82 if (ops != NULL && ops->print != NULL)
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 ops->print(level, category, format, args);
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 }
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86 void
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
87 gaim_debug(GaimDebugLevel level, const char *category,
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
88 const char *format, ...)
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89 {
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
90 va_list args;
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
91
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
92 g_return_if_fail(level != GAIM_DEBUG_ALL);
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
93 g_return_if_fail(format != NULL);
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
95 va_start(args, format);
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
96 gaim_debug_vargs(level, category, format, args);
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
97 va_end(args);
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
98 }
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
99
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
100 void
6721
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
101 gaim_debug_misc(const char *category, const char *format, ...)
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
102 {
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
103 va_list args;
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
104
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
105 g_return_if_fail(format != NULL);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
106
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
107 va_start(args, format);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
108 gaim_debug_vargs(GAIM_DEBUG_MISC, category, format, args);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
109 va_end(args);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
110 }
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 void
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
113 gaim_debug_info(const char *category, const char *format, ...)
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
114 {
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
115 va_list args;
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
116
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
117 g_return_if_fail(format != NULL);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
118
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
119 va_start(args, format);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
120 gaim_debug_vargs(GAIM_DEBUG_INFO, category, format, args);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
121 va_end(args);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
122 }
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 void
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
125 gaim_debug_warning(const char *category, const char *format, ...)
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
126 {
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
127 va_list args;
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
128
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
129 g_return_if_fail(format != NULL);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
130
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
131 va_start(args, format);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
132 gaim_debug_vargs(GAIM_DEBUG_WARNING, category, format, args);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
133 va_end(args);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
134 }
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
135
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
136 void
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
137 gaim_debug_error(const char *category, const char *format, ...)
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
138 {
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
139 va_list args;
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
140
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
141 g_return_if_fail(format != NULL);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
142
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
143 va_start(args, format);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
144 gaim_debug_vargs(GAIM_DEBUG_ERROR, category, format, args);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
145 va_end(args);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
146 }
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
147
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
148 void
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
149 gaim_debug_fatal(const char *category, const char *format, ...)
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
150 {
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
151 va_list args;
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
152
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
153 g_return_if_fail(format != NULL);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
154
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
155 va_start(args, format);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
156 gaim_debug_vargs(GAIM_DEBUG_FATAL, category, format, args);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
157 va_end(args);
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
158 }
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
159
acc4376ce062 [gaim-migrate @ 7248]
Christian Hammond <chipx86@chipx86.com>
parents: 6483
diff changeset
160 void
10307
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
161 gaim_debug_set_enabled(gboolean enabled)
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
162 {
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
163 debug_enabled = enabled;
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
164 }
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
165
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
166 gboolean
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
167 gaim_debug_is_enabled()
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
168 {
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
169 return debug_enabled;
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
170 }
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
171
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
172 void
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6721
diff changeset
173 gaim_debug_set_ui_ops(GaimDebugUiOps *ops)
5212
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
174 {
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
175 debug_ui_ops = ops;
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
176 }
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
177
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
178 GaimDebugUiOps *
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6721
diff changeset
179 gaim_debug_get_ui_ops(void)
5212
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
180 {
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
181 return debug_ui_ops;
740303e8425b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
182 }
10307
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
183
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
184 void
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
185 gaim_debug_init(void)
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
186 {
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
187 gaim_prefs_add_none("/core/debug");
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
188
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
189 /*
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
190 * This pref is currently used by both the console
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
191 * output and the debug window output.
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
192 */
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
193 gaim_prefs_add_bool("/core/debug/timestamps", FALSE);
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
194 }