From 0ecc47dc7134b632f9d2d79857623c3da3d1efb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Thu, 7 Jul 2005 20:55:18 +0000 Subject: [PATCH] (TTYinfo): only call tgetent if we found it using autoconf git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15581 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/editline/editline.c | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/lib/editline/editline.c b/lib/editline/editline.c index 287f97a84..23987f388 100644 --- a/lib/editline/editline.c +++ b/lib/editline/editline.c @@ -217,10 +217,6 @@ static void TTYinfo(void) { static int init; - const char *term; - char buff[2048]; - char *bp; - char *tmp; #if defined(TIOCGWINSZ) struct winsize W; #endif /* defined(TIOCGWINSZ) */ @@ -238,20 +234,28 @@ TTYinfo(void) } init++; - TTYwidth = TTYrows = 0; - bp = &buff[0]; - if ((term = getenv("TERM")) == NULL) - term = "dumb"; - if (tgetent(buff, term) < 0) { - TTYwidth = SCREEN_WIDTH; - TTYrows = SCREEN_ROWS; - return; +#ifdef HAVE_TGETENT + { + char buff[2048]; + char *tmp; + char *bp; + const char *term; + + TTYwidth = TTYrows = 0; + bp = &buff[0]; + if ((term = getenv("TERM")) == NULL) + term = "dumb"; + if (tgetent(buff, term) >= 0) { + + tmp = tgetstr("le", &bp); + if (tmp != NULL) + backspace = strdup(tmp); + TTYwidth = tgetnum("co"); + TTYrows = tgetnum("li"); + return; + } } - tmp = tgetstr("le", &bp); - if (tmp != NULL) - backspace = strdup(tmp); - TTYwidth = tgetnum("co"); - TTYrows = tgetnum("li"); +#endif #if defined(TIOCGWINSZ) if (ioctl(0, TIOCGWINSZ, &W) >= 0) {