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