116 lines
1.8 KiB
C
116 lines
1.8 KiB
C
|
/**
|
||
|
* error.c
|
||
|
*
|
||
|
* error reporting routines
|
||
|
* basicly wrappers around printf
|
||
|
*
|
||
|
* (c) 2005 NLnet Labs
|
||
|
*
|
||
|
* See the file LICENSE for the license
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#include "drill.h"
|
||
|
#include <ldns/ldns.h>
|
||
|
|
||
|
static void
|
||
|
warning_va_list(const char *fmt, va_list args)
|
||
|
{
|
||
|
fprintf(stderr, "Warning: ");
|
||
|
vfprintf(stderr, fmt, args);
|
||
|
fprintf(stderr, "\n");
|
||
|
}
|
||
|
|
||
|
void
|
||
|
warning(const char *fmt, ...)
|
||
|
{
|
||
|
va_list args;
|
||
|
va_start(args, fmt);
|
||
|
warning_va_list(fmt, args);
|
||
|
va_end(args);
|
||
|
}
|
||
|
|
||
|
static void
|
||
|
error_va_list(const char *fmt, va_list args)
|
||
|
{
|
||
|
fprintf(stderr, "Error: ");
|
||
|
vfprintf(stderr, fmt, args);
|
||
|
fprintf(stderr, "\n");
|
||
|
}
|
||
|
|
||
|
void
|
||
|
error(const char *fmt, ...)
|
||
|
{
|
||
|
va_list args;
|
||
|
va_start(args, fmt);
|
||
|
error_va_list(fmt, args);
|
||
|
va_end(args);
|
||
|
exit(EXIT_FAILURE);
|
||
|
}
|
||
|
|
||
|
static void
|
||
|
verbose_va_list(const char *fmt, va_list args)
|
||
|
{
|
||
|
vfprintf(stdout, fmt, args);
|
||
|
fprintf(stdout, "\n");
|
||
|
}
|
||
|
|
||
|
/* print stuff */
|
||
|
void
|
||
|
mesg(const char *fmt, ...)
|
||
|
{
|
||
|
va_list args;
|
||
|
if (verbosity == -1) {
|
||
|
return;
|
||
|
}
|
||
|
fprintf(stdout, ";; ");
|
||
|
va_start(args, fmt);
|
||
|
verbose_va_list(fmt, args);
|
||
|
va_end(args);
|
||
|
}
|
||
|
|
||
|
/* print stuff when in verbose mode (1) */
|
||
|
void
|
||
|
verbose(const char *fmt, ...)
|
||
|
{
|
||
|
va_list args;
|
||
|
if (verbosity < 1) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
va_start(args, fmt);
|
||
|
verbose_va_list(fmt, args);
|
||
|
va_end(args);
|
||
|
}
|
||
|
|
||
|
/* print stuff when in vverbose mode (2) */
|
||
|
void
|
||
|
vverbose(const char *fmt, ...)
|
||
|
{
|
||
|
va_list args;
|
||
|
if (verbosity < 2) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
va_start(args, fmt);
|
||
|
verbose_va_list(fmt, args);
|
||
|
va_end(args);
|
||
|
}
|
||
|
|
||
|
static void
|
||
|
debug_va_list(const char *fmt, va_list args)
|
||
|
{
|
||
|
vfprintf(stderr, fmt, args);
|
||
|
fprintf(stderr, "\n");
|
||
|
}
|
||
|
|
||
|
void
|
||
|
debug(const char *fmt, ...)
|
||
|
{
|
||
|
va_list args;
|
||
|
fprintf(stderr, "[DEBUG] ");
|
||
|
va_start(args, fmt);
|
||
|
debug_va_list(fmt, args);
|
||
|
va_end(args);
|
||
|
}
|