diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2018-03-27 22:55:08 -0400 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2018-03-27 22:55:08 -0400 |
| commit | f72415b48fdf390c8a8a5dec95c88ae3fe028cad (patch) | |
| tree | fe543d53153bd99b29d754c3ee4d0c6bbcab3d10 | |
| parent | 804d2b9f03f56fc227ab5110cbb05f9552546f73 (diff) | |
| parent | 0329654c0a761a6f316e4463f6d1877e9b7039e3 (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.c | 4 |
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, ...) { |
