From 3f9d2edddc2b0fec31464fe2dcbd26038f00294e Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun, 12 Feb 2006 02:56:21 +0000
Subject: [PATCH] Restore previous psql behavior of not printing useless
 trailing spaces after the data in the last column on a line.

---
 src/bin/psql/print.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/bin/psql/print.c b/src/bin/psql/print.c
index 64c644784f1..1b1ff260f84 100644
--- a/src/bin/psql/print.c
+++ b/src/bin/psql/print.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2005, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.82 2006/02/10 22:29:06 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.83 2006/02/12 02:56:21 tgl Exp $
  */
 #include "postgres_fe.h"
 #include "common.h"
@@ -573,11 +573,15 @@ print_aligned_text(const char *title, const char *const * headers,
 			for (j = 0; j < col_count; j++)
 			{
 				struct lineptr *this_line = col_lineptrs[j] + line_count;
+				bool	finalspaces = (opt_border == 2 || j != col_count-1);
+
 				if (complete[j])  /* Just print spaces... */
-					fprintf(fout, "%*s", widths[j], "");
+				{
+					if (finalspaces)
+						fprintf(fout, "%*s", widths[j], "");
+				}
 				else
 				{
-
 					/* content */
 					if (opt_align[j] == 'r')
 					{
@@ -602,7 +606,7 @@ print_aligned_text(const char *title, const char *const * headers,
 					}
 					else
 						fprintf(fout, "%-s%*s", this_line->ptr,
-								widths[j] - this_line->width, "");
+								finalspaces ? (widths[j] - this_line->width) : 0, "");
 					/* If at the right height, done this col */
 					if (line_count == heights[j]-1 || !this_line[1].ptr)
 					{
-- 
GitLab