aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortaiyu <taiyu.len@gmail.com>2018-03-27 02:59:41 -0700
committertaiyu <taiyu.len@gmail.com>2018-03-27 02:59:41 -0700
commit97ad9ab9841a438801b7feabf7b9fb238e8b5012 (patch)
tree1f053a5e7a729574e7d2adab442dc22b0ad1b1ef
parent45f14fcb24b6dae8bb78efb1ec7d7a51cb9a4d2c (diff)
save errno to avoid issues with it being overwritten
-rw-r--r--common/log.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/common/log.c b/common/log.c
index 6dc9d743..877534c8 100644
--- a/common/log.c
+++ b/common/log.c
@@ -127,6 +127,7 @@ void _sway_abort(const char *filename, int line, const char* format, ...) {
}
void sway_log_errno(log_importance_t verbosity, char* format, ...) {
+ int errsv = errno;
if (verbosity <= v) {
unsigned int c = verbosity;
if (c > sizeof(verbosity_colors) / sizeof(char *) - 1) {
@@ -145,7 +146,7 @@ void sway_log_errno(log_importance_t verbosity, char* format, ...) {
va_end(args);
fprintf(stderr, ": ");
- fprintf(stderr, "%s", strerror(errno));
+ fprintf(stderr, "%s", strerror(errsv));
if (colored && isatty(STDERR_FILENO)) {
fprintf(stderr, "\x1B[0m");