diff --git a/include/glibtop/error.h b/include/glibtop/error.h index f19e9bb9..1ed7b40b 100644 --- a/include/glibtop/error.h +++ b/include/glibtop/error.h @@ -46,6 +46,16 @@ void glibtop_warn (const char *format, ...) G_GNUC_PRINTF(1, 2); void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN; void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2); +/* FIXME: C99 */ +#define glibtop_debug(fmt, ...) \ + G_STMT_START { \ + if (LIBGTOP_ENABLE_DEBUG) \ + glibtop_debug_r(glibtop_global_server, fmt, __VA_ARGS__); \ + G_STMT_END + +void glibtop_debug_vr (glibtop *server, const char *format, va_list args); +void glibtop_debug_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3); + G_END_DECLS #endif diff --git a/sysdeps/common/error.c b/sysdeps/common/error.c index d6e9438d..a7a45814 100644 --- a/sysdeps/common/error.c +++ b/sysdeps/common/error.c @@ -133,6 +133,25 @@ glibtop_warn_io_r (glibtop *server, const char *format, ...) } +void +glibtop_debug_vr (glibtop *server, const char *format, va_list args) +{ + print_server_name (server); + vfprintf (stderr, format, args); + fputc('\n', stderr); +} + +void +glibtop_debug_r (glibtop *server, const char *format, ...) +{ + va_list args; + + va_start (args, format); + glibtop_debug_vr (server, format, args); + va_end (args); +} + + void glibtop_error (const char *format, ...) {