12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #include <err.h>
- #include <stdio.h>
- #include <stdarg.h>
- #include <stdlib.h>
- extern char *__progname;
- void vwarn(const char *fmt, va_list ap)
- {
- fprintf (stderr, "%s: ", __progname);
- if (fmt) {
- vfprintf(stderr, fmt, ap);
- fputs (": ", stderr);
- }
- perror(0);
- }
- void vwarnx(const char *fmt, va_list ap)
- {
- fprintf (stderr, "%s: ", __progname);
- if (fmt) vfprintf(stderr, fmt, ap);
- putc('\n', stderr);
- }
- _Noreturn void verr(int status, const char *fmt, va_list ap)
- {
- vwarn(fmt, ap);
- exit(status);
- }
- _Noreturn void verrx(int status, const char *fmt, va_list ap)
- {
- vwarnx(fmt, ap);
- exit(status);
- }
- void warn(const char *fmt, ...)
- {
- va_list ap;
- va_start(ap, fmt);
- vwarn(fmt, ap);
- va_end(ap);
- }
- void warnx(const char *fmt, ...)
- {
- va_list ap;
- va_start(ap, fmt);
- vwarnx(fmt, ap);
- va_end(ap);
- }
- _Noreturn void err(int status, const char *fmt, ...)
- {
- va_list ap;
- va_start(ap, fmt);
- verr(status, fmt, ap);
- va_end(ap);
- }
- _Noreturn void errx(int status, const char *fmt, ...)
- {
- va_list ap;
- va_start(ap, fmt);
- verrx(status, fmt, ap);
- va_end(ap);
- }
|