From 24a4aff68e9100deed2dc5e5bd88a4f4dd4656ea Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 6 Jan 2001 17:43:01 +0000 Subject: [PATCH] No need for screen_size to be static. --- src/interfaces/libpq/fe-print.c | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/src/interfaces/libpq/fe-print.c b/src/interfaces/libpq/fe-print.c index 75418fcd0b..192e89b56f 100644 --- a/src/interfaces/libpq/fe-print.c +++ b/src/interfaces/libpq/fe-print.c @@ -10,16 +10,13 @@ * didn't really belong there. * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-print.c,v 1.38 2000/05/29 21:25:04 momjian Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-print.c,v 1.39 2001/01/06 17:43:01 tgl Exp $ * *------------------------------------------------------------------------- */ #include "postgres.h" #include -#include "libpq-fe.h" -#include "libpq-int.h" -#include "pqsignal.h" #ifdef WIN32 #include "win32.h" @@ -36,17 +33,9 @@ #endif #endif -#ifdef TIOCGWINSZ -static struct winsize screen_size; - -#else -static struct winsize -{ - int ws_row; - int ws_col; -} screen_size; - -#endif +#include "libpq-fe.h" +#include "libpq-int.h" +#include "pqsignal.h" static void do_field(const PQprintOpt *po, const PGresult *res, @@ -103,6 +92,15 @@ PQprint(FILE *fout, int usePipe = 0; pqsigfunc oldsigpipehandler = NULL; char *pagerenv; +#ifdef TIOCGWINSZ + struct winsize screen_size; +#else + struct winsize + { + int ws_row; + int ws_col; + } screen_size; +#endif nTups = PQntuples(res); if (!(fieldNames = (const char **) calloc(nFields, sizeof(char *)))) @@ -151,17 +149,21 @@ PQprint(FILE *fout, #endif ) { - /* try to pipe to the pager program if possible */ + /* + * If we think there'll be more than one screen of output, + * try to pipe to the pager program. + */ #ifdef TIOCGWINSZ if (ioctl(fileno(stdout), TIOCGWINSZ, &screen_size) == -1 || screen_size.ws_col == 0 || screen_size.ws_row == 0) { -#endif screen_size.ws_row = 24; screen_size.ws_col = 80; -#ifdef TIOCGWINSZ } +#else + screen_size.ws_row = 24; + screen_size.ws_col = 80; #endif pagerenv = getenv("PAGER"); if (pagerenv != NULL && -- 2.11.0