summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2018-03-27 22:55:08 -0400
committerFurkan Sahin <furkan-dev@proton.me>2018-03-27 22:55:08 -0400
commitf72415b48fdf390c8a8a5dec95c88ae3fe028cad (patch)
treefe543d53153bd99b29d754c3ee4d0c6bbcab3d10
parent804d2b9f03f56fc227ab5110cbb05f9552546f73 (diff)
parent0329654c0a761a6f316e4463f6d1877e9b7039e3 (diff)
Merge pull request #1639 from taiyu-len/save_errno
save errno to avoid issues with it being overwritten in sway_log_errno
-rw-r--r--common/log.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/common/log.c b/common/log.c
index 6dc9d743..1b46d58f 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,13 +146,14 @@ 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");
}
fprintf(stderr, "\n");
}
+ errno = errsv;
}
bool _sway_assert(bool condition, const char *filename, int line, const char* format, ...) {