void _oil_debug_init(void) { const char *envvar; envvar = getenv ("OIL_DEBUG"); if (envvar != NULL) { char *end = NULL; int level; level = strtol (envvar, &end, 0); if (end > envvar) { _oil_debug_level = level; } } OIL_INFO ("liboil-" VERSION " debug init"); } static void oil_debug_print_valist (int level, const char *file, const char *func, int line, const char *format, va_list args) { static const char *level_names[] = { "NONE", "ERROR", "WARNING", "INFO", "DEBUG", "LOG" }; const char *level_name = "unknown"; if (level > _oil_debug_level) return; if(level>=OIL_DEBUG_NONE && level<=OIL_DEBUG_LOG){ level_name = level_names[level]; } fprintf (stderr, "OIL: %s %s %d: %s(): ", level_name, file, line, func); vfprintf (stderr, format, args); fprintf (stderr, "\n"); } void oil_debug_print (int level, const char *file, const char *func, int line, const char *format, ...) { va_list var_args; va_start (var_args, format); _oil_debug_print_func (level, file, func, line, format, var_args); va_end (var_args); }