summaryrefslogtreecommitdiffstats
path: root/bin/ed/main.c
diff options
context:
space:
mode:
authoreivind <eivind@FreeBSD.org>1997-10-08 14:47:56 +0000
committereivind <eivind@FreeBSD.org>1997-10-08 14:47:56 +0000
commit462d6dd113dfcd502c173210fb282f8fd42e6276 (patch)
tree500a821c05cf1f5111c6807573b2aa67fda80c63 /bin/ed/main.c
parentb197c558d0c3e8c5cd7b1b4c9c8d79a8f6e654fd (diff)
downloadFreeBSD-src-462d6dd113dfcd502c173210fb282f8fd42e6276.zip
FreeBSD-src-462d6dd113dfcd502c173210fb282f8fd42e6276.tar.gz
make signal handlers errno safe
Obtained from: OpenBSD (file rev 1.11) - Theo de Raadt <deraadt@openbsd.org>
Diffstat (limited to 'bin/ed/main.c')
-rw-r--r--bin/ed/main.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/bin/ed/main.c b/bin/ed/main.c
index abeff54..b9fca59 100644
--- a/bin/ed/main.c
+++ b/bin/ed/main.c
@@ -37,7 +37,7 @@ static char * const copyright =
static char * const rcsid = "@(#)main.c,v 1.1 1994/02/01 00:34:42 alm Exp";
#else
static char * const rcsid =
- "$Id: main.c,v 1.10 1997/03/28 15:24:19 imp Exp $";
+ "$Id: main.c,v 1.11 1997/08/07 21:33:43 steve Exp $";
#endif
#endif /* not lint */
@@ -1358,7 +1358,8 @@ signal_hup(signo)
{
if (mutex)
sigflags |= (1 << (signo - 1));
- else handle_hup(signo);
+ else
+ handle_hup(signo);
}
@@ -1368,7 +1369,8 @@ signal_int(signo)
{
if (mutex)
sigflags |= (1 << (signo - 1));
- else handle_int(signo);
+ else
+ handle_int(signo);
}
@@ -1418,6 +1420,8 @@ void
handle_winch(signo)
int signo;
{
+ int save_errno = errno;
+
struct winsize ws; /* window size structure */
sigflags &= ~(1 << (signo - 1));
@@ -1425,6 +1429,7 @@ handle_winch(signo)
if (ws.ws_row > 2) rows = ws.ws_row - 2;
if (ws.ws_col > 8) cols = ws.ws_col - 8;
}
+ errno = save_errno;
}
OpenPOWER on IntegriCloud