Refactor warning diagnostic code to reduce repeated output logic

This commit is contained in:
Rangi
2026-07-04 23:02:16 -04:00
committed by Rangi
parent de36a11be7
commit 6e643406a2
9 changed files with 174 additions and 253 deletions
+38 -4
View File
@@ -14,13 +14,47 @@
#include "util.hpp" // parseNumber
void warnx(char const *fmt, ...) {
va_list ap;
va_list args;
va_start(args, fmt);
vwarnx(fmt, args);
va_end(args);
}
void vwarnx(char const *fmt, va_list args) {
style_Set(stderr, STYLE_YELLOW, true);
fputs("warning: ", stderr);
style_Reset(stderr);
va_start(ap, fmt);
vfprintf(stderr, fmt, ap);
va_end(ap);
vfprintf(stderr, fmt, args);
putc('\n', stderr);
}
void errorx(char const *fmt, ...) {
va_list args;
va_start(args, fmt);
verrorx(fmt, args);
va_end(args);
}
void verrorx(char const *fmt, va_list args) {
style_Set(stderr, STYLE_RED, true);
fputs("error: ", stderr);
style_Reset(stderr);
vfprintf(stderr, fmt, args);
putc('\n', stderr);
}
void fatalx(char const *fmt, ...) {
va_list args;
va_start(args, fmt);
vfatalx(fmt, args);
va_end(args);
}
void vfatalx(char const *fmt, va_list args) {
style_Set(stderr, STYLE_RED, true);
fputs("FATAL: ", stderr);
style_Reset(stderr);
vfprintf(stderr, fmt, args);
putc('\n', stderr);
}