summaryrefslogtreecommitdiff
path: root/navit/debug.c
diff options
context:
space:
mode:
authorsleske <sleske@ffa7fe5e-494d-0410-b361-a75ebd5db220>2012-01-29 14:49:58 +0000
committersleske <sleske@ffa7fe5e-494d-0410-b361-a75ebd5db220>2012-01-29 14:49:58 +0000
commitcf1681fda046da3aa54c542cdae9cb33e5b49590 (patch)
treee26b33f75fca6bfa0a0f3058cb3e08bd4793d411 /navit/debug.c
parent4fc18ca7f11565b17dcf76517ee7c57ea54f2003 (diff)
downloadnavit-cf1681fda046da3aa54c542cdae9cb33e5b49590.tar.gz
Add:Core:New "global" debug level; activate option -d.
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@4915 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/debug.c')
-rw-r--r--navit/debug.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/navit/debug.c b/navit/debug.c
index 0a2502d00..4343ace81 100644
--- a/navit/debug.c
+++ b/navit/debug.c
@@ -52,7 +52,8 @@ static struct sockaddr_in debug_sin;
#endif
-int debug_level=0;
+int max_debug_level=0;
+int global_debug_level=0;
int segv_level=0;
int timestamp_prefix=0;
@@ -99,8 +100,8 @@ debug_init(const char *program_name)
static void
debug_update_level(gpointer key, gpointer value, gpointer user_data)
{
- if (debug_level < GPOINTER_TO_INT(value))
- debug_level = GPOINTER_TO_INT(value);
+ if (max_debug_level < GPOINTER_TO_INT(value))
+ max_debug_level = GPOINTER_TO_INT(value);
}
void
@@ -114,8 +115,12 @@ debug_level_set(const char *name, int level)
signal(SIGSEGV, NULL);
} else if (!strcmp(name, "timestamps")) {
timestamp_prefix=level;
+ } else if (!strcmp(name, DEBUG_MODULE_GLOBAL)) {
+ global_debug_level=level;
+ if (max_debug_level < global_debug_level){
+ max_debug_level = global_debug_level;
+ }
} else {
- debug_level=0;
g_hash_table_insert(debug_hash, g_strdup(name), GINT_TO_POINTER(level));
g_hash_table_foreach(debug_hash, debug_update_level, NULL);
}
@@ -204,7 +209,7 @@ debug_vprintf(int level, const char *module, const int mlen, const char *functio
FILE *fp=debug_fp;
sprintf(buffer, "%s:%s", module, function);
- if (debug_level_get(module) >= level || debug_level_get(buffer) >= level) {
+ if (global_debug_level >= level || debug_level_get(module) >= level || debug_level_get(buffer) >= level) {
#if defined(DEBUG_WIN32_CE_MESSAGEBOX)
wchar_t muni[4096];
#endif