1825eb42bSJan Lentfer /**
2825eb42bSJan Lentfer * error.c
3825eb42bSJan Lentfer *
4825eb42bSJan Lentfer * error reporting routines
5*819dec71SDaniel Fojt * basically wrappers around printf
6825eb42bSJan Lentfer *
7825eb42bSJan Lentfer * (c) 2005 NLnet Labs
8825eb42bSJan Lentfer *
9825eb42bSJan Lentfer * See the file LICENSE for the license
10825eb42bSJan Lentfer *
11825eb42bSJan Lentfer */
12825eb42bSJan Lentfer
13825eb42bSJan Lentfer #include "drill.h"
14825eb42bSJan Lentfer #include <ldns/ldns.h>
15825eb42bSJan Lentfer
16825eb42bSJan Lentfer static void
warning_va_list(const char * fmt,va_list args)17825eb42bSJan Lentfer warning_va_list(const char *fmt, va_list args)
18825eb42bSJan Lentfer {
19825eb42bSJan Lentfer fprintf(stderr, "Warning: ");
20825eb42bSJan Lentfer vfprintf(stderr, fmt, args);
21825eb42bSJan Lentfer fprintf(stderr, "\n");
22825eb42bSJan Lentfer }
23825eb42bSJan Lentfer
24825eb42bSJan Lentfer void
warning(const char * fmt,...)25825eb42bSJan Lentfer warning(const char *fmt, ...)
26825eb42bSJan Lentfer {
27825eb42bSJan Lentfer va_list args;
28825eb42bSJan Lentfer va_start(args, fmt);
29825eb42bSJan Lentfer warning_va_list(fmt, args);
30825eb42bSJan Lentfer va_end(args);
31825eb42bSJan Lentfer }
32825eb42bSJan Lentfer
33825eb42bSJan Lentfer static void
error_va_list(const char * fmt,va_list args)34825eb42bSJan Lentfer error_va_list(const char *fmt, va_list args)
35825eb42bSJan Lentfer {
36825eb42bSJan Lentfer fprintf(stderr, "Error: ");
37825eb42bSJan Lentfer vfprintf(stderr, fmt, args);
38825eb42bSJan Lentfer fprintf(stderr, "\n");
39825eb42bSJan Lentfer }
40825eb42bSJan Lentfer
41825eb42bSJan Lentfer void
error(const char * fmt,...)42825eb42bSJan Lentfer error(const char *fmt, ...)
43825eb42bSJan Lentfer {
44825eb42bSJan Lentfer va_list args;
45825eb42bSJan Lentfer va_start(args, fmt);
46825eb42bSJan Lentfer error_va_list(fmt, args);
47825eb42bSJan Lentfer va_end(args);
48825eb42bSJan Lentfer exit(EXIT_FAILURE);
49825eb42bSJan Lentfer }
50825eb42bSJan Lentfer
51825eb42bSJan Lentfer static void
verbose_va_list(const char * fmt,va_list args)52825eb42bSJan Lentfer verbose_va_list(const char *fmt, va_list args)
53825eb42bSJan Lentfer {
54825eb42bSJan Lentfer vfprintf(stdout, fmt, args);
55825eb42bSJan Lentfer fprintf(stdout, "\n");
56825eb42bSJan Lentfer }
57825eb42bSJan Lentfer
58825eb42bSJan Lentfer /* print stuff */
59825eb42bSJan Lentfer void
mesg(const char * fmt,...)60825eb42bSJan Lentfer mesg(const char *fmt, ...)
61825eb42bSJan Lentfer {
62825eb42bSJan Lentfer va_list args;
63825eb42bSJan Lentfer if (verbosity == -1) {
64825eb42bSJan Lentfer return;
65825eb42bSJan Lentfer }
66825eb42bSJan Lentfer fprintf(stdout, ";; ");
67825eb42bSJan Lentfer va_start(args, fmt);
68825eb42bSJan Lentfer verbose_va_list(fmt, args);
69825eb42bSJan Lentfer va_end(args);
70825eb42bSJan Lentfer }
71825eb42bSJan Lentfer
725340022aSzrj #if 0
73825eb42bSJan Lentfer /* print stuff when in verbose mode (1) */
74825eb42bSJan Lentfer void
75825eb42bSJan Lentfer verbose(const char *fmt, ...)
76825eb42bSJan Lentfer {
77825eb42bSJan Lentfer va_list args;
78825eb42bSJan Lentfer if (verbosity < 1) {
79825eb42bSJan Lentfer return;
80825eb42bSJan Lentfer }
81825eb42bSJan Lentfer
82825eb42bSJan Lentfer va_start(args, fmt);
83825eb42bSJan Lentfer verbose_va_list(fmt, args);
84825eb42bSJan Lentfer va_end(args);
85825eb42bSJan Lentfer }
865340022aSzrj #endif
87