summaryrefslogtreecommitdiff
path: root/usr.bin/vi/cl
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/vi/cl')
-rw-r--r--usr.bin/vi/cl/cl_term.c34
1 files changed, 8 insertions, 26 deletions
diff --git a/usr.bin/vi/cl/cl_term.c b/usr.bin/vi/cl/cl_term.c
index 4551389f394..c8b13f77fde 100644
--- a/usr.bin/vi/cl/cl_term.c
+++ b/usr.bin/vi/cl/cl_term.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cl_term.c,v 1.27 2016/12/18 06:11:23 krw Exp $ */
+/* $OpenBSD: cl_term.c,v 1.28 2017/07/20 08:37:48 anton Exp $ */
/*-
* Copyright (c) 1993, 1994
@@ -18,7 +18,6 @@
#include <bitstring.h>
#include <curses.h>
-#include <errno.h>
#include <limits.h>
#include <signal.h>
#include <stdio.h>
@@ -301,8 +300,7 @@ cl_ssize(SCR *sp, int sigwinch, size_t *rowp, size_t *colp, int *changedp)
struct winsize win;
size_t col, row;
int rval;
- long lval;
- char *p, *ep;
+ char *p;
/* Assume it's changed. */
if (changedp != NULL)
@@ -396,28 +394,12 @@ noterm: if (row == 0)
* deleting the LINES and COLUMNS environment variables from their
* dot-files.
*/
- if ((p = getenv("LINES")) != NULL) {
- errno = 0;
- lval = strtol(p, &ep, 10);
- if (p[0] == '\0' || *ep != '\0')
- ;
- else if ((errno == ERANGE && (lval == LONG_MAX || lval ==
- LONG_MIN)) || (lval > INT_MAX || lval < 1))
- ;
- else
- row = lval;
- }
- if ((p = getenv("COLUMNS")) != NULL) {
- errno = 0;
- lval = strtol(p, &ep, 10);
- if (p[0] == '\0' || *ep != '\0')
- ;
- else if ((errno == ERANGE && (lval == LONG_MAX || lval ==
- LONG_MIN)) || (lval > INT_MAX || lval < 1))
- ;
- else
- col = lval;
- }
+ if ((p = getenv("LINES")) != NULL &&
+ (rval = strtonum(p, 1, INT_MAX, NULL)) > 0)
+ row = rval;
+ if ((p = getenv("COLUMNS")) != NULL &&
+ (rval = strtonum(p, 1, INT_MAX, NULL)) > 0)
+ col = rval;
if (rowp != NULL)
*rowp = row;