4 * not thread safe, we won't ever try to be
5 * this buffer is intentionally tiny because we want to keep all
6 * of our messages as short as possible. For path names, we write()
7 * to STDOUT_FILENO directly.
11 static void spew(int fd
, const char *fmt
, va_list ap
)
13 int nr
= vsnprintf(buf
, sizeof(buf
), fmt
, ap
);
15 assert(nr
> 0 && nr
< sizeof(buf
) && "spew buffer too small");
19 void emit(const char *fmt
, ...)
28 void warn(const char *fmt
, ...)
37 NORETURN
void die(const char *fmt
, ...)