From 627b5ef64db69cfd9ce85a8ec1210bd1f108c7c9 Mon Sep 17 00:00:00 2001
From: Hallvard Furuseth <hallvard@openldap.org>
Date: Sun, 22 Nov 1998 05:14:41 +0000
Subject: [PATCH] Do not use struct winsize or declare chwinsz unless
 defined(TIOCGWINSZ)

---
 clients/ud/main.c | 17 ++++++++---------
 clients/ud/ud.h   |  2 +-
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/clients/ud/main.c b/clients/ud/main.c
index 3d9a004180..5a527c2979 100644
--- a/clients/ud/main.c
+++ b/clients/ud/main.c
@@ -681,18 +681,13 @@ initialize_client( void )
 #ifndef NO_TERMCAP
 	{
 	char *term;
-	struct winsize win;			/* for tty set-up */
 
 	if (((term = getenv("TERM")) == NULL) || (tgetent(bp, term) <= 0))
 		return;
 	else {
 #ifdef TIOCGWINSZ
-		if (ioctl(fileno(stdout), TIOCGWINSZ, &win) < 0) {
-			lpp = tgetnum("li");
-			col_size = tgetnum("co");
-		} else
-#endif
-		{
+		struct winsize win;		/* for tty set-up */
+		if (ioctl(fileno(stdout), TIOCGWINSZ, &win) >= 0) {
 			if ((lpp = win.ws_row) == 0)
 				lpp = tgetnum("li");
 			if ((col_size = win.ws_col) == 0)
@@ -701,10 +696,14 @@ initialize_client( void )
 				lpp = DEFAULT_TTY_HEIGHT;
 			if ((col_size <= 0) || tgetflag("hc"))
 				col_size = DEFAULT_TTY_WIDTH;
+			(void) SIGNAL (SIGWINCH, chwinsz);
+		} else
+#endif
+		{
+			lpp = tgetnum("li");
+			col_size = tgetnum("co");
 		}
 	}
-	(void) SIGNAL (SIGWINCH, chwinsz);
-
 	}
 #endif
 }
diff --git a/clients/ud/ud.h b/clients/ud/ud.h
index aeea56ae64..a5245479e3 100644
--- a/clients/ud/ud.h
+++ b/clients/ud/ud.h
@@ -230,7 +230,7 @@ void status	LDAP_P(( void ));
 void change_base	LDAP_P(( int type, char **base, char *s ));
 void initialize_client	LDAP_P(( void ));
 RETSIGTYPE  attn	LDAP_P(( int sig ));
-#ifndef NO_TERMCAP
+#if !defined(NO_TERMCAP) && defined(TIOCGWINSZ)
 RETSIGTYPE  chwinsz	LDAP_P(( int sig ));
 #endif
 
-- 
GitLab