diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/fe_utils/print.c | 6 | ||||
-rw-r--r-- | src/interfaces/libpq/fe-print.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/fe_utils/print.c b/src/fe_utils/print.c index 1ec74f17907..5c5d285be5f 100644 --- a/src/fe_utils/print.c +++ b/src/fe_utils/print.c @@ -2874,6 +2874,12 @@ PageOutput(int lines, const printTableOpt *topt) pagerprog = getenv("PAGER"); if (!pagerprog) pagerprog = DEFAULT_PAGER; + else + { + /* if PAGER is empty or all-white-space, don't use pager */ + if (strspn(pagerprog, " \t\r\n") == strlen(pagerprog)) + return stdout; + } disable_sigpipe_trap(); pagerpipe = popen(pagerprog, "w"); if (pagerpipe) diff --git a/src/interfaces/libpq/fe-print.c b/src/interfaces/libpq/fe-print.c index c33dc42a839..e596a514087 100644 --- a/src/interfaces/libpq/fe-print.c +++ b/src/interfaces/libpq/fe-print.c @@ -166,8 +166,9 @@ PQprint(FILE *fout, const PGresult *res, const PQprintOpt *po) screen_size.ws_col = 80; #endif pagerenv = getenv("PAGER"); + /* if PAGER is unset, empty or all-white-space, don't use pager */ if (pagerenv != NULL && - pagerenv[0] != '\0' && + strspn(pagerenv, " \t\r\n") != strlen(pagerenv) && !po->html3 && ((po->expanded && nTups * (nFields + 1) >= screen_size.ws_row) || |