| |
| #ifdef HAVE_CONFIG_H |
| #include "config.h" |
| #endif |
| |
| #include <glib.h> |
| #include <stdio.h> |
| #include <debug.h> |
| |
| static const char *resample_debug_level_names[] = { |
| "NONE", |
| "ERROR", |
| "WARNING", |
| "INFO", |
| "DEBUG", |
| "LOG" |
| }; |
| |
| static int resample_debug_level = RESAMPLE_LEVEL_ERROR; |
| |
| void |
| resample_debug_log (int level, const char *file, const char *function, |
| int line, const char *format, ...) |
| { |
| #ifndef GLIB_COMPAT |
| va_list varargs; |
| char *s; |
| |
| if (level > resample_debug_level) |
| return; |
| |
| va_start (varargs, format); |
| s = g_strdup_vprintf (format, varargs); |
| va_end (varargs); |
| |
| fprintf (stderr, "RESAMPLE: %s: %s(%d): %s: %s\n", |
| resample_debug_level_names[level], file, line, function, s); |
| g_free (s); |
| #else |
| va_list varargs; |
| char s[1000]; |
| |
| if (level > resample_debug_level) |
| return; |
| |
| va_start (varargs, format); |
| vsnprintf (s, 999, format, varargs); |
| va_end (varargs); |
| |
| fprintf (stderr, "RESAMPLE: %s: %s(%d): %s: %s\n", |
| resample_debug_level_names[level], file, line, function, s); |
| #endif |
| } |
| |
| void |
| resample_debug_set_level (int level) |
| { |
| resample_debug_level = level; |
| } |
| |
| int |
| resample_debug_get_level (void) |
| { |
| return resample_debug_level; |
| } |