From 8ecb49067997c37c006cbc4e4a88c4a13f31fca7 Mon Sep 17 00:00:00 2001 From: Jerzi Kaminsky Date: Thu, 20 Apr 2017 19:13:53 +0300 Subject: Make sway_abort() report location --- common/log.c | 19 +++++++++---------- include/log.h | 5 ++++- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/common/log.c b/common/log.c index 8e5b71f9..61937495 100644 --- a/common/log.c +++ b/common/log.c @@ -53,16 +53,6 @@ void sway_log_colors(int mode) { colored = (mode == 1) ? 1 : 0; } -void sway_abort(const char *format, ...) { - fprintf(stderr, "ERROR: "); - va_list args; - va_start(args, format); - vfprintf(stderr, format, args); - va_end(args); - fprintf(stderr, "\n"); - sway_terminate(EXIT_FAILURE); -} - void _sway_vlog(const char *filename, int line, log_importance_t verbosity, const char *format, va_list args) { if (verbosity <= v) { @@ -116,6 +106,15 @@ void _sway_log(const char *filename, int line, log_importance_t verbosity, const va_end(args); } + +void _sway_abort(const char *filename, int line, const char* format, ...) { + va_list args; + va_start(args, format); + _sway_vlog(filename, line, L_ERROR, format, args); + va_end(args); + sway_terminate(EXIT_FAILURE); +} + void sway_log_errno(log_importance_t verbosity, char* format, ...) { if (verbosity <= v) { unsigned int c = verbosity; diff --git a/include/log.h b/include/log.h index 32981b62..a1e33fa2 100644 --- a/include/log.h +++ b/include/log.h @@ -17,7 +17,10 @@ void reset_log_level(void); bool toggle_debug_logging(void); void sway_log_colors(int mode); void sway_log_errno(log_importance_t verbosity, char* format, ...) __attribute__((format(printf,2,3))); -void sway_abort(const char* format, ...) __attribute__((format(printf,1,2))); + +void _sway_abort(const char *filename, int line, const char* format, ...) __attribute__((format(printf,3,4))); +#define sway_abort(FMT, ...) \ + _sway_abort(__FILE__, __LINE__, FMT, ##__VA_ARGS__) bool _sway_assert(bool condition, const char *filename, int line, const char* format, ...) __attribute__((format(printf,4,5))); #define sway_assert(COND, FMT, ...) \ -- cgit v1.2.3-54-g00ecf