X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fdebug.c;h=af22c69f2cf8626fadf31293dcb1bff9a1a4e6af;hb=3f2d342de80d819f5a40b6af1e4cc5478429e6be;hp=102c88916743f576c5825598d261dc120bc704b5;hpb=d713bdf4623aa46676f95d1f38618b219ea5d9c9;p=chaz%2Fopenbox diff --git a/openbox/debug.c b/openbox/debug.c index 102c8891..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 @@ -38,3 +40,24 @@ void ob_debug(const gchar *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); + } +}