aboutsummaryrefslogtreecommitdiffstats
path: root/common/log.c
diff options
context:
space:
mode:
authorLibravatar Eric Engestrom <eric@engestrom.ch>2016-05-02 15:10:22 +0100
committerLibravatar Eric Engestrom <eric@engestrom.ch>2016-05-02 18:30:04 +0100
commitcc9d1cacbb79ce9a54f2c8505a25f4ace7d74c46 (patch)
treebb62675e504f73e2a1c1f71727256ae5f8e5bfa1 /common/log.c
parentMerge pull request #634 from 1ace/fix/log-double-close (diff)
downloadsway-cc9d1cacbb79ce9a54f2c8505a25f4ace7d74c46.tar.gz
sway-cc9d1cacbb79ce9a54f2c8505a25f4ace7d74c46.tar.zst
sway-cc9d1cacbb79ce9a54f2c8505a25f4ace7d74c46.zip
common: refactor sway_log()
This removes most preprocessor logic, leaving it only it the header.
Diffstat (limited to 'common/log.c')
-rw-r--r--common/log.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/common/log.c b/common/log.c
index c5c9f3a6..ef791bec 100644
--- a/common/log.c
+++ b/common/log.c
@@ -61,11 +61,7 @@ void sway_abort(const char *format, ...) {
61 sway_terminate(EXIT_FAILURE); 61 sway_terminate(EXIT_FAILURE);
62} 62}
63 63
64#ifndef NDEBUG
65void _sway_log(const char *filename, int line, log_importance_t verbosity, const char* format, ...) { 64void _sway_log(const char *filename, int line, log_importance_t verbosity, const char* format, ...) {
66#else
67void _sway_log(log_importance_t verbosity, const char* format, ...) {
68#endif
69 if (verbosity <= v) { 65 if (verbosity <= v) {
70 unsigned int c = verbosity; 66 unsigned int c = verbosity;
71 if (c > sizeof(verbosity_colors) / sizeof(char *) - 1) { 67 if (c > sizeof(verbosity_colors) / sizeof(char *) - 1) {
@@ -76,13 +72,14 @@ void _sway_log(log_importance_t verbosity, const char* format, ...) {
76 fprintf(stderr, "%s", verbosity_colors[c]); 72 fprintf(stderr, "%s", verbosity_colors[c]);
77 } 73 }
78 74
75 if (filename && line) {
76 char *file = strdup(filename);
77 fprintf(stderr, "[%s:%d] ", basename(file), line);
78 free(file);
79 }
80
79 va_list args; 81 va_list args;
80 va_start(args, format); 82 va_start(args, format);
81#ifndef NDEBUG
82 char *file = strdup(filename);
83 fprintf(stderr, "[%s:%d] ", basename(file), line);
84 free(file);
85#endif
86 vfprintf(stderr, format, args); 83 vfprintf(stderr, format, args);
87 va_end(args); 84 va_end(args);
88 85