X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fdebug.c;h=af22c69f2cf8626fadf31293dcb1bff9a1a4e6af;hb=4c672be2e1f39e72eb7d7e99f129e61338f481b2;hp=755fbcd1e3f71a06df565c3905693dfc7bc87332;hpb=fb1627ba903e4b76b80abbdd613f477212968d0a;p=chaz%2Fopenbox diff --git a/openbox/debug.c b/openbox/debug.c index 755fbcd1..af22c69f 100644 --- a/openbox/debug.c +++ b/openbox/debug.c @@ -1,7 +1,7 @@ /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- debug.c for the Openbox window manager - Copyright (c) 2003 Ben Jansens + Copyright (c) 2003-2007 Dana Jansens This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,6 +16,8 @@ See the COPYING file for a copy of the GNU General Public License. */ +#include "debug.h" + #include #include #include @@ -28,7 +30,7 @@ void ob_debug_show_output(gboolean enable) show = enable; } -void ob_debug(char *a, ...) +void ob_debug(const gchar *a, ...) { va_list vl; @@ -38,3 +40,24 @@ void ob_debug(char *a, ...) va_end(vl); } } + +static gboolean enabled_types[OB_DEBUG_TYPE_NUM] = {FALSE}; + +void ob_debug_enable(ObDebugType type, gboolean enable) +{ + g_assert(type < OB_DEBUG_TYPE_NUM); + enabled_types[type] = enable; +} + +void ob_debug_type(ObDebugType type, const gchar *a, ...) +{ + va_list vl; + + g_assert(type < OB_DEBUG_TYPE_NUM); + + if (show && enabled_types[type]) { + va_start(vl, a); + vfprintf(stderr, a, vl); + va_end(vl); + } +}