From b90e6cef12662ccad8679be24cd650c6b49feb1c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 7 Dec 2018 13:11:30 -0500 Subject: [PATCH] In PQprint(), write HTML table trailer before closing the output pipe. This is an astonishingly ancient bit of silliness, dating AFAICS to commit edb519b14 of 27-Jul-1996 which added the pipe close stanza in the wrong place. It happens to be harmless given that the code above this won't enable the pager if html3 output mode is selected. Still, somebody might try to relax that restriction someday, and in any case it could confuse readers and static analysis tools, so let's fix it in HEAD. Per bug #15541 from Pan Bian. Discussion: https://postgr.es/m/15541-c835d8b9a903f7ad@postgresql.org --- src/interfaces/libpq/fe-print.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/interfaces/libpq/fe-print.c b/src/interfaces/libpq/fe-print.c index 95de270b93..f022780dc7 100644 --- a/src/interfaces/libpq/fe-print.c +++ b/src/interfaces/libpq/fe-print.c @@ -304,6 +304,8 @@ PQprint(FILE *fout, const PGresult *res, const PQprintOpt *po) if (po->header && !po->html3) fprintf(fout, "(%d row%s)\n\n", PQntuples(res), (PQntuples(res) == 1) ? "" : "s"); + if (po->html3 && !po->expanded) + fputs("\n", fout); free(fieldMax); free(fieldNotNum); free((void *) fieldNames); @@ -323,8 +325,6 @@ PQprint(FILE *fout, const PGresult *res, const PQprintOpt *po) #endif /* ENABLE_THREAD_SAFETY */ #endif /* WIN32 */ } - if (po->html3 && !po->expanded) - fputs("\n", fout); } } -- 2.30.2