16dd652faSwdenk /* 26dd652faSwdenk * (C) Copyright 2000 36dd652faSwdenk * Murray Jensen <Murray.Jensen@csiro.au> 46dd652faSwdenk * 5*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 66dd652faSwdenk */ 76dd652faSwdenk 83ba68654Swdenk #include <stdio.h> 93ba68654Swdenk #include <stdlib.h> 103ba68654Swdenk #include <string.h> 113ba68654Swdenk #include <errno.h> 123ba68654Swdenk #include "error.h" 133ba68654Swdenk 143ba68654Swdenk char *pname; 153ba68654Swdenk 163ba68654Swdenk void 173ba68654Swdenk Warning(char *fmt, ...) 183ba68654Swdenk { 193ba68654Swdenk va_list args; 203ba68654Swdenk 213ba68654Swdenk fprintf(stderr, "%s: WARNING: ", pname); 223ba68654Swdenk 233ba68654Swdenk va_start(args, fmt); 243ba68654Swdenk vfprintf(stderr, fmt, args); 253ba68654Swdenk va_end(args); 263ba68654Swdenk 273ba68654Swdenk fprintf(stderr, "\n"); 283ba68654Swdenk } 293ba68654Swdenk 303ba68654Swdenk void 313ba68654Swdenk Error(char *fmt, ...) 323ba68654Swdenk { 333ba68654Swdenk va_list args; 343ba68654Swdenk 353ba68654Swdenk fprintf(stderr, "%s: ERROR: ", pname); 363ba68654Swdenk 373ba68654Swdenk va_start(args, fmt); 383ba68654Swdenk vfprintf(stderr, fmt, args); 393ba68654Swdenk va_end(args); 403ba68654Swdenk 413ba68654Swdenk fprintf(stderr, "\n"); 423ba68654Swdenk 433ba68654Swdenk exit(1); 443ba68654Swdenk } 453ba68654Swdenk 463ba68654Swdenk void 473ba68654Swdenk Perror(char *fmt, ...) 483ba68654Swdenk { 493ba68654Swdenk va_list args; 503ba68654Swdenk int e = errno; 513ba68654Swdenk char *p; 523ba68654Swdenk 533ba68654Swdenk fprintf(stderr, "%s: ERROR: ", pname); 543ba68654Swdenk 553ba68654Swdenk va_start(args, fmt); 563ba68654Swdenk vfprintf(stderr, fmt, args); 573ba68654Swdenk va_end(args); 583ba68654Swdenk 593ba68654Swdenk if ((p = strerror(e)) == NULL || *p == '\0') 603ba68654Swdenk fprintf(stderr, ": Unknown Error (%d)\n", e); 613ba68654Swdenk else 623ba68654Swdenk fprintf(stderr, ": %s\n", p); 633ba68654Swdenk 643ba68654Swdenk exit(1); 653ba68654Swdenk } 66