]> granicus.if.org Git - postgresql/commitdiff
Restore previous psql behavior of not printing useless trailing spaces
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 12 Feb 2006 02:56:21 +0000 (02:56 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 12 Feb 2006 02:56:21 +0000 (02:56 +0000)
after the data in the last column on a line.

src/bin/psql/print.c

index 64c644784f137ceb552e0e786a4ded6c5a959adf..1b1ff260f843384cbe4f68b45b37081ae0971ff0 100644 (file)
@@ -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)
                                        {