diff options
Diffstat (limited to 'counter.c')
| -rw-r--r-- | counter.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -174,6 +174,7 @@ int main(int argc, char *argv[]) { int tcset = 0, old_flags = -1, old_sig = 0, owner_set = 0; + int saved_errno; struct sigaction sigact; struct termios stty, saved_stty; struct f_owner_ex old_owner, new_owner; @@ -241,9 +242,11 @@ main(int argc, char *argv[]) return 0; fail: - perror(argv0 ? argv0 : "counter"); + saved_errno = errno; fprintf(stdout, "\033[?25h\n\033[?1049l"); fflush(stdout); + errno = saved_errno; + perror(argv0 ? argv0 : "counter"); if (owner_set) fcntl(STDIN_FILENO, F_SETOWN_EX, &old_owner); if (old_flags != -1) |
