From 099002715d30af646d4582ac2b14322dae3f04d9 Mon Sep 17 00:00:00 2001 From: Louis Burda Date: Thu, 12 Jan 2023 15:50:56 +0100 Subject: Refactor error handling --- src/util.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/util.h') diff --git a/src/util.h b/src/util.h index 5ae8b74..73cfc10 100644 --- a/src/util.h +++ b/src/util.h @@ -1,5 +1,6 @@ #pragma once +#include #include #define MAX(a, b) ((a) > (b) ? (a) : (b)) @@ -8,13 +9,23 @@ #define PANIC(...) panic(__FILE__, __LINE__, "" __VA_ARGS__) #define ASSERT(x) assert((x), __FILE__, __LINE__, #x) -#define ERROR(...) error("" __VA_ARGS__) +#define WARNX(...) warn(false, __VA_ARGS__); +#define WARN(...) warn(true, __VA_ARGS__); +#define ERRORX(...) error(false, __VA_ARGS__); +#define ERROR(...) error(true, __VA_ARGS__); #define UPCAST(iter, type, link) LINK_UPCAST(iter, type, link) +enum { + USER, + SYSTEM, + INTERNAL +}; + void panic(const char *file, int line, const char *msg, ...); void assert(int cond, const char *file, int line, const char *condstr); -void error(const char *fmtstr, ...); +void warn(bool add_error, int type, const char *fmtstr, ...); +void error(bool add_error, int type, const char *fmtstr, ...); char *astrdup(const char *str); char *aprintf(const char *fmtstr, ...); -- cgit v1.2.3-71-gd317