xref: /freebsd-src/contrib/ldns/drill/error.c (revision 5afab0e5e56fe90a378fb57249600e7924e1cab2)
17b5038d7SDag-Erling Smørgrav /**
27b5038d7SDag-Erling Smørgrav  * error.c
37b5038d7SDag-Erling Smørgrav  *
47b5038d7SDag-Erling Smørgrav  * error reporting routines
5*5afab0e5SDag-Erling Smørgrav  * basically wrappers around printf
67b5038d7SDag-Erling Smørgrav  *
77b5038d7SDag-Erling Smørgrav  * (c) 2005 NLnet Labs
87b5038d7SDag-Erling Smørgrav  *
97b5038d7SDag-Erling Smørgrav  * See the file LICENSE for the license
107b5038d7SDag-Erling Smørgrav  *
117b5038d7SDag-Erling Smørgrav  */
127b5038d7SDag-Erling Smørgrav 
137b5038d7SDag-Erling Smørgrav #include "drill.h"
147b5038d7SDag-Erling Smørgrav #include <ldns/ldns.h>
157b5038d7SDag-Erling Smørgrav 
167b5038d7SDag-Erling Smørgrav static void
warning_va_list(const char * fmt,va_list args)177b5038d7SDag-Erling Smørgrav warning_va_list(const char *fmt, va_list args)
187b5038d7SDag-Erling Smørgrav {
197b5038d7SDag-Erling Smørgrav         fprintf(stderr, "Warning: ");
207b5038d7SDag-Erling Smørgrav         vfprintf(stderr, fmt, args);
217b5038d7SDag-Erling Smørgrav         fprintf(stderr, "\n");
227b5038d7SDag-Erling Smørgrav }
237b5038d7SDag-Erling Smørgrav 
247b5038d7SDag-Erling Smørgrav void
warning(const char * fmt,...)257b5038d7SDag-Erling Smørgrav warning(const char *fmt, ...)
267b5038d7SDag-Erling Smørgrav {
277b5038d7SDag-Erling Smørgrav 	va_list args;
287b5038d7SDag-Erling Smørgrav 	va_start(args, fmt);
297b5038d7SDag-Erling Smørgrav 	warning_va_list(fmt, args);
307b5038d7SDag-Erling Smørgrav 	va_end(args);
317b5038d7SDag-Erling Smørgrav }
327b5038d7SDag-Erling Smørgrav 
337b5038d7SDag-Erling Smørgrav static void
error_va_list(const char * fmt,va_list args)347b5038d7SDag-Erling Smørgrav error_va_list(const char *fmt, va_list args)
357b5038d7SDag-Erling Smørgrav {
367b5038d7SDag-Erling Smørgrav         fprintf(stderr, "Error: ");
377b5038d7SDag-Erling Smørgrav         vfprintf(stderr, fmt, args);
387b5038d7SDag-Erling Smørgrav         fprintf(stderr, "\n");
397b5038d7SDag-Erling Smørgrav }
407b5038d7SDag-Erling Smørgrav 
417b5038d7SDag-Erling Smørgrav void
error(const char * fmt,...)427b5038d7SDag-Erling Smørgrav error(const char *fmt, ...)
437b5038d7SDag-Erling Smørgrav {
447b5038d7SDag-Erling Smørgrav 	va_list args;
457b5038d7SDag-Erling Smørgrav 	va_start(args, fmt);
467b5038d7SDag-Erling Smørgrav 	error_va_list(fmt, args);
477b5038d7SDag-Erling Smørgrav 	va_end(args);
487b5038d7SDag-Erling Smørgrav 	exit(EXIT_FAILURE);
497b5038d7SDag-Erling Smørgrav }
507b5038d7SDag-Erling Smørgrav 
517b5038d7SDag-Erling Smørgrav static void
verbose_va_list(const char * fmt,va_list args)527b5038d7SDag-Erling Smørgrav verbose_va_list(const char *fmt, va_list args)
537b5038d7SDag-Erling Smørgrav {
547b5038d7SDag-Erling Smørgrav         vfprintf(stdout, fmt, args);
557b5038d7SDag-Erling Smørgrav         fprintf(stdout, "\n");
567b5038d7SDag-Erling Smørgrav }
577b5038d7SDag-Erling Smørgrav 
587b5038d7SDag-Erling Smørgrav /* print stuff */
597b5038d7SDag-Erling Smørgrav void
mesg(const char * fmt,...)607b5038d7SDag-Erling Smørgrav mesg(const char *fmt, ...)
617b5038d7SDag-Erling Smørgrav {
627b5038d7SDag-Erling Smørgrav 	va_list args;
637b5038d7SDag-Erling Smørgrav 	if (verbosity == -1) {
647b5038d7SDag-Erling Smørgrav 		return;
657b5038d7SDag-Erling Smørgrav 	}
667b5038d7SDag-Erling Smørgrav 	fprintf(stdout, ";; ");
677b5038d7SDag-Erling Smørgrav 	va_start(args, fmt);
687b5038d7SDag-Erling Smørgrav 	verbose_va_list(fmt, args);
697b5038d7SDag-Erling Smørgrav 	va_end(args);
707b5038d7SDag-Erling Smørgrav }
717b5038d7SDag-Erling Smørgrav 
72986ba33cSDag-Erling Smørgrav #if 0
737b5038d7SDag-Erling Smørgrav /* print stuff when in verbose mode (1) */
747b5038d7SDag-Erling Smørgrav void
757b5038d7SDag-Erling Smørgrav verbose(const char *fmt, ...)
767b5038d7SDag-Erling Smørgrav {
777b5038d7SDag-Erling Smørgrav 	va_list args;
787b5038d7SDag-Erling Smørgrav 	if (verbosity < 1) {
797b5038d7SDag-Erling Smørgrav 		return;
807b5038d7SDag-Erling Smørgrav 	}
817b5038d7SDag-Erling Smørgrav 
827b5038d7SDag-Erling Smørgrav 	va_start(args, fmt);
837b5038d7SDag-Erling Smørgrav 	verbose_va_list(fmt, args);
847b5038d7SDag-Erling Smørgrav 	va_end(args);
857b5038d7SDag-Erling Smørgrav }
86986ba33cSDag-Erling Smørgrav #endif
87