1238104Sdes/** 2238104Sdes * error.c 3238104Sdes * 4238104Sdes * error reporting routines 5238104Sdes * basicly wrappers around printf 6238104Sdes * 7238104Sdes * (c) 2005 NLnet Labs 8238104Sdes * 9238104Sdes * See the file LICENSE for the license 10238104Sdes * 11238104Sdes */ 12238104Sdes 13238104Sdes#include "drill.h" 14238104Sdes#include <ldns/ldns.h> 15238104Sdes 16238104Sdesstatic void 17238104Sdeswarning_va_list(const char *fmt, va_list args) 18238104Sdes{ 19238104Sdes fprintf(stderr, "Warning: "); 20238104Sdes vfprintf(stderr, fmt, args); 21238104Sdes fprintf(stderr, "\n"); 22238104Sdes} 23238104Sdes 24238104Sdesvoid 25238104Sdeswarning(const char *fmt, ...) 26238104Sdes{ 27238104Sdes va_list args; 28238104Sdes va_start(args, fmt); 29238104Sdes warning_va_list(fmt, args); 30238104Sdes va_end(args); 31238104Sdes} 32238104Sdes 33238104Sdesstatic void 34238104Sdeserror_va_list(const char *fmt, va_list args) 35238104Sdes{ 36238104Sdes fprintf(stderr, "Error: "); 37238104Sdes vfprintf(stderr, fmt, args); 38238104Sdes fprintf(stderr, "\n"); 39238104Sdes} 40238104Sdes 41238104Sdesvoid 42238104Sdeserror(const char *fmt, ...) 43238104Sdes{ 44238104Sdes va_list args; 45238104Sdes va_start(args, fmt); 46238104Sdes error_va_list(fmt, args); 47238104Sdes va_end(args); 48238104Sdes exit(EXIT_FAILURE); 49238104Sdes} 50238104Sdes 51238104Sdesstatic void 52238104Sdesverbose_va_list(const char *fmt, va_list args) 53238104Sdes{ 54238104Sdes vfprintf(stdout, fmt, args); 55238104Sdes fprintf(stdout, "\n"); 56238104Sdes} 57238104Sdes 58238104Sdes/* print stuff */ 59238104Sdesvoid 60238104Sdesmesg(const char *fmt, ...) 61238104Sdes{ 62238104Sdes va_list args; 63238104Sdes if (verbosity == -1) { 64238104Sdes return; 65238104Sdes } 66238104Sdes fprintf(stdout, ";; "); 67238104Sdes va_start(args, fmt); 68238104Sdes verbose_va_list(fmt, args); 69238104Sdes va_end(args); 70238104Sdes} 71238104Sdes 72238104Sdes/* print stuff when in verbose mode (1) */ 73238104Sdesvoid 74238104Sdesverbose(const char *fmt, ...) 75238104Sdes{ 76238104Sdes va_list args; 77238104Sdes if (verbosity < 1) { 78238104Sdes return; 79238104Sdes } 80238104Sdes 81238104Sdes va_start(args, fmt); 82238104Sdes verbose_va_list(fmt, args); 83238104Sdes va_end(args); 84238104Sdes} 85238104Sdes 86238104Sdes/* print stuff when in vverbose mode (2) */ 87238104Sdesvoid 88238104Sdesvverbose(const char *fmt, ...) 89238104Sdes{ 90238104Sdes va_list args; 91238104Sdes if (verbosity < 2) { 92238104Sdes return; 93238104Sdes } 94238104Sdes 95238104Sdes va_start(args, fmt); 96238104Sdes verbose_va_list(fmt, args); 97238104Sdes va_end(args); 98238104Sdes} 99238104Sdes 100238104Sdesstatic void 101238104Sdesdebug_va_list(const char *fmt, va_list args) 102238104Sdes{ 103238104Sdes vfprintf(stderr, fmt, args); 104238104Sdes fprintf(stderr, "\n"); 105238104Sdes} 106238104Sdes 107238104Sdesvoid 108238104Sdesdebug(const char *fmt, ...) 109238104Sdes{ 110238104Sdes va_list args; 111238104Sdes fprintf(stderr, "[DEBUG] "); 112238104Sdes va_start(args, fmt); 113238104Sdes debug_va_list(fmt, args); 114238104Sdes va_end(args); 115238104Sdes} 116