diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-04-16 09:50:50 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-16 09:50:50 -0400 |
commit | edb8075ae0c0986fb168b464b05e0b54537f8f30 (patch) | |
tree | fcce54a1332d699fb5ecaef85b5fba70066713de /common/log.c | |
parent | 4b3e533a5946c0cb8f3f80421918ff809e4059a3 (diff) | |
parent | 709b53bd4347ee0ba4925ae02a5f89ca15f380c8 (diff) |
Merge pull request #1175 from JerziKaminsky/fix_sway_assert_variadic
Fix multiple issues in sway_assert
Diffstat (limited to 'common/log.c')
-rw-r--r-- | common/log.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/common/log.c b/common/log.c index c3809c69..8e5b71f9 100644 --- a/common/log.c +++ b/common/log.c @@ -63,7 +63,8 @@ void sway_abort(const char *format, ...) { sway_terminate(EXIT_FAILURE); } -void _sway_log(const char *filename, int line, log_importance_t verbosity, const char* format, ...) { +void _sway_vlog(const char *filename, int line, log_importance_t verbosity, + const char *format, va_list args) { if (verbosity <= v) { // prefix the time to the log message static struct tm result; @@ -99,10 +100,7 @@ void _sway_log(const char *filename, int line, log_importance_t verbosity, const fprintf(stderr, "[%s:%d] ", file, line); } - va_list args; - va_start(args, format); vfprintf(stderr, format, args); - va_end(args); if (colored && isatty(STDERR_FILENO)) { fprintf(stderr, "\x1B[0m"); @@ -111,6 +109,13 @@ void _sway_log(const char *filename, int line, log_importance_t verbosity, const } } +void _sway_log(const char *filename, int line, log_importance_t verbosity, const char* format, ...) { + va_list args; + va_start(args, format); + _sway_vlog(filename, line, verbosity, format, args); + va_end(args); +} + void sway_log_errno(log_importance_t verbosity, char* format, ...) { if (verbosity <= v) { unsigned int c = verbosity; @@ -137,14 +142,14 @@ void sway_log_errno(log_importance_t verbosity, char* format, ...) { } } -bool _sway_assert(bool condition, const char* format, ...) { +bool _sway_assert(bool condition, const char *filename, int line, const char* format, ...) { if (condition) { return true; } va_list args; va_start(args, format); - sway_log(L_ERROR, format, args); + _sway_vlog(filename, line, L_ERROR, format, args); va_end(args); #ifndef NDEBUG |