summaryrefslogtreecommitdiffstats
path: root/counter.c
diff options
context:
space:
mode:
Diffstat (limited to 'counter.c')
-rw-r--r--counter.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/counter.c b/counter.c
index f7bada6..1b8f637 100644
--- a/counter.c
+++ b/counter.c
@@ -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)