Path: blob/main/core/posix-wasm/src/lib/legacy/err.c
1067 views
#include <err.h>1#include <stdio.h>2#include <stdarg.h>3#include <stdlib.h>45extern char *__progname;67void vwarn(const char *fmt, va_list ap)8{9fprintf (stderr, "%s: ", __progname);10if (fmt) {11vfprintf(stderr, fmt, ap);12fputs (": ", stderr);13}14perror(0);15}1617void vwarnx(const char *fmt, va_list ap)18{19fprintf (stderr, "%s: ", __progname);20if (fmt) vfprintf(stderr, fmt, ap);21putc('\n', stderr);22}2324_Noreturn void verr(int status, const char *fmt, va_list ap)25{26vwarn(fmt, ap);27exit(status);28}2930_Noreturn void verrx(int status, const char *fmt, va_list ap)31{32vwarnx(fmt, ap);33exit(status);34}3536void warn(const char *fmt, ...)37{38va_list ap;39va_start(ap, fmt);40vwarn(fmt, ap);41va_end(ap);42}4344void warnx(const char *fmt, ...)45{46va_list ap;47va_start(ap, fmt);48vwarnx(fmt, ap);49va_end(ap);50}5152_Noreturn void err(int status, const char *fmt, ...)53{54va_list ap;55va_start(ap, fmt);56verr(status, fmt, ap);57va_end(ap);58}5960_Noreturn void errx(int status, const char *fmt, ...)61{62va_list ap;63va_start(ap, fmt);64verrx(status, fmt, ap);65va_end(ap);66}676869