xref: /freebsd/contrib/ldns/drill/error.c (revision 5afab0e5e56fe90a378fb57249600e7924e1cab2)
1 /**
2  * error.c
3  *
4  * error reporting routines
5  * basically wrappers around printf
6  *
7  * (c) 2005 NLnet Labs
8  *
9  * See the file LICENSE for the license
10  *
11  */
12 
13 #include "drill.h"
14 #include <ldns/ldns.h>
15 
16 static void
warning_va_list(const char * fmt,va_list args)17 warning_va_list(const char *fmt, va_list args)
18 {
19         fprintf(stderr, "Warning: ");
20         vfprintf(stderr, fmt, args);
21         fprintf(stderr, "\n");
22 }
23 
24 void
warning(const char * fmt,...)25 warning(const char *fmt, ...)
26 {
27 	va_list args;
28 	va_start(args, fmt);
29 	warning_va_list(fmt, args);
30 	va_end(args);
31 }
32 
33 static void
error_va_list(const char * fmt,va_list args)34 error_va_list(const char *fmt, va_list args)
35 {
36         fprintf(stderr, "Error: ");
37         vfprintf(stderr, fmt, args);
38         fprintf(stderr, "\n");
39 }
40 
41 void
error(const char * fmt,...)42 error(const char *fmt, ...)
43 {
44 	va_list args;
45 	va_start(args, fmt);
46 	error_va_list(fmt, args);
47 	va_end(args);
48 	exit(EXIT_FAILURE);
49 }
50 
51 static void
verbose_va_list(const char * fmt,va_list args)52 verbose_va_list(const char *fmt, va_list args)
53 {
54         vfprintf(stdout, fmt, args);
55         fprintf(stdout, "\n");
56 }
57 
58 /* print stuff */
59 void
mesg(const char * fmt,...)60 mesg(const char *fmt, ...)
61 {
62 	va_list args;
63 	if (verbosity == -1) {
64 		return;
65 	}
66 	fprintf(stdout, ";; ");
67 	va_start(args, fmt);
68 	verbose_va_list(fmt, args);
69 	va_end(args);
70 }
71 
72 #if 0
73 /* print stuff when in verbose mode (1) */
74 void
75 verbose(const char *fmt, ...)
76 {
77 	va_list args;
78 	if (verbosity < 1) {
79 		return;
80 	}
81 
82 	va_start(args, fmt);
83 	verbose_va_list(fmt, args);
84 	va_end(args);
85 }
86 #endif
87