void-packages/srcpkgs/kbd/files/error.h

21 lines
481 B
C

#ifndef ERROR_H
#define ERROR_H
#include <stdio.h>
#include <stdarg.h>
#include <err.h>
static inline void error(int status, int errnum, const char *fmt, ...)
{
va_list ap;
void (*errfunc[2])(int, const char *, va_list) = { &verr, &verrx };
void (*warnfunc[2])(const char *, va_list) = { &vwarn, &vwarnx };
fflush(stdout);
va_start(ap, fmt);
if (status != 0)
errfunc[errnum==0](status, fmt, ap); /* does not return */
warnfunc[errnum==0](fmt, ap);
va_end(ap);
}
#endif