aboutsummaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c62
1 files changed, 61 insertions, 1 deletions
diff --git a/src/util.c b/src/util.c
index 32cef99..31878ed 100644
--- a/src/util.c
+++ b/src/util.c
@@ -1,9 +1,31 @@
#include "include/util.h"
+void die(const char* fmt, ...) {
+ va_list ap;
+
+ fprintf(stderr, "== FATAL ERROR ==\n");
+
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+
+ if (fmt[0] && fmt[strlen(fmt) - 1] == ':') {
+ fputc(' ', stderr);
+ perror(NULL);
+ } else {
+ fputc('\n', stderr);
+ }
+
+ fprintf(stderr, "\n");
+
+ exit(1);
+}
void log_inf(const char* fmt, ...) {
va_list ap;
+ fprintf(stderr, "== INFO ==\n");
+
va_start(ap, fmt);
vfprintf(stderr, fmt, ap);
va_end(ap);
@@ -15,5 +37,43 @@ void log_inf(const char* fmt, ...) {
fputc('\n', stderr);
}
- exit(1);
+ fprintf(stderr, "\n");
+}
+
+void log_war(const char* fmt, ...) {
+ va_list ap;
+
+ fprintf(stderr, "== WARNING ==\n");
+
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+
+ if (fmt[0] && fmt[strlen(fmt) - 1] == ':') {
+ fputc(' ', stderr);
+ perror(NULL);
+ } else {
+ fputc('\n', stderr);
+ }
+
+ fprintf(stderr, "\n");
+}
+
+void log_err(const char* fmt, ...) {
+ va_list ap;
+
+ fprintf(stderr, "== ERROR ==");
+
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+
+ if (fmt[0] && fmt[strlen(fmt) - 1] == ':') {
+ fputc(' ', stderr);
+ perror(NULL);
+ } else {
+ fputc('\n', stderr);
+ }
+
+ fprintf(stderr, "\n");
}