Free memory with dbus_free instead of free. Account for NULL signatures.
[dbus-cxx-async.git] / src / debug.cpp
blob94bffecb4c4dfbe7371fff0e6c5f85b9c8dd959e
1 /*
3 * D-Bus++ - C++ bindings for D-Bus
5 * Copyright (C) 2005-2009 Paolo Durante <shackan@gmail.com>
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 #ifdef HAVE_CONFIG_H
25 #include <config.h>
26 #endif
28 #include <dbus-c++/debug.h>
30 #include <stdarg.h>
31 #include <cstdio>
32 #include <stdlib.h>
34 static void _debug_log_default(const char *format, ...)
36 #ifdef DEBUG
38 static int debug_env = getenv("DBUSXX_VERBOSE") ? 1 : 0;
40 if (debug_env)
42 va_list args;
43 va_start(args, format);
45 fprintf(stderr, "dbus-c++: ");
46 vfprintf(stderr, format, args);
47 fprintf(stderr, "\n");
49 va_end(args);
52 #endif//DEBUG
55 DBus::LogFunction DBus::debug_log = _debug_log_default;