[PATCH 5/6] psql: print_aligned_text uses table formatting - Mailing list pgsql-hackers
| From | Roger Leigh |
|---|---|
| Subject | [PATCH 5/6] psql: print_aligned_text uses table formatting |
| Date | |
| Msg-id | 1250956790-18404-6-git-send-email-rleigh@debian.org Whole thread Raw |
| In response to | [PATCH 4/6] psql: Pass table formatting object to text output functions (Roger Leigh <rleigh@debian.org>) |
| Responses |
Re: [PATCH 5/6] psql: print_aligned_text uses table
formatting
|
| List | pgsql-hackers |
Convert print_aligned_text, and its helper function, to use
table formatting in place of hardcoded ASCII characters.
Signed-off-by: Roger Leigh <rleigh@debian.org>
---src/bin/psql/print.c | 50 +++++++++++++++++++++++++++++++++++++-------------1 files changed, 37 insertions(+), 13
deletions(-)
diff --git a/src/bin/psql/print.c b/src/bin/psql/print.c
index 641fd63..84f6bdc 100644
--- a/src/bin/psql/print.c
+++ b/src/bin/psql/print.c
@@ -394,29 +394,41 @@ _print_horizontal_line(const unsigned int ncolumns, const unsigned int *widths, unsigned int
i, j;
+ const printTextLineFormat *lformat = &format->lrule[pos];
+ if (border == 1)
- fputc('-', fout);
+ fputs(format->hrule, fout); else if (border == 2)
- fputs("+-", fout);
+ {
+ fputs(lformat->leftvrule, fout);
+ fputs(format->hrule, fout);
+ } for (i = 0; i < ncolumns; i++) { for (j = 0; j < widths[i]; j++)
- fputc('-', fout);
+ fputs(format->hrule, fout); if (i < ncolumns - 1) { if (border == 0)
fputc(' ', fout); else
- fputs("-+-", fout);
+ {
+ fputs(format->hrule, fout);
+ fputs(lformat->midvrule, fout);
+ fputs(format->hrule, fout);
+ } } } if (border == 2)
- fputs("-+", fout);
+ {
+ fputs(format->hrule, fout);
+ fputs(lformat->rightvrule, fout);
+ } else if (border == 1)
- fputc('-', fout);
+ fputs(format->hrule, fout); fputc('\n', fout);}
@@ -752,7 +764,7 @@ print_aligned_text(const printTableContent *cont, const printTextFormat *format, while
(more_col_wrapping) { if (opt_border == 2)
- fprintf(fout, "|%c", curr_nl_line ? '+' : ' ');
+ fprintf(fout, "%s%c", format->vrule, curr_nl_line ? '+' : ' '); else if (opt_border
==1) fputc(curr_nl_line ? '+' : ' ', fout);
@@ -783,13 +795,16 @@ print_aligned_text(const printTableContent *cont, const printTextFormat *format,
if (opt_border == 0) fputc(curr_nl_line ? '+' : ' ', fout);
else
- fprintf(fout, " |%c", curr_nl_line ? '+' : ' ');
+ fprintf(fout, " %s%c", format->vrule, curr_nl_line ? '+' : ' '); }
} curr_nl_line++; if (opt_border == 2)
- fputs(" |", fout);
+ {
+ fputc(' ', fout);
+ fputs(format->vrule, fout);
+ } else if (opt_border == 1) fputc(' ', fout);
fputc('\n',fout);
@@ -841,7 +856,10 @@ print_aligned_text(const printTableContent *cont, const printTextFormat *format, /*
leftborder */ if (opt_border == 2)
- fputs("| ", fout);
+ {
+ fputs(format->vrule, fout);
+ fputc(' ', fout);
+ } else if (opt_border == 1) fputc(' ', fout);
@@ -922,14 +940,20 @@ print_aligned_text(const printTableContent *cont, const printTextFormat *format,
else if (curr_nl_line[j + 1] != 0) fputs(" : ", fout); else
+ { /* Ordinary line */
- fputs(" | ", fout);
+ fputc(' ', fout);
+ fputs(format->vrule, fout);
+ fputc(' ', fout);
+ } } } /* end-of-row border */
- if (opt_border == 2)
- fputs(" |", fout);
+ if (opt_border == 2) {
+ fputc(' ', fout);
+ fputs(format->vrule, fout);
+ } fputc('\n', fout); } while (more_lines);
--
1.6.3.3
pgsql-hackers by date: