aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-06-14 22:15:57 +0000
committerBruce Momjian <bruce@momjian.us>2005-06-14 22:15:57 +0000
commit921de09e40677304c8be5aca1f5526fa5b0adb25 (patch)
treedefce30a650d5ce40707e6e726d3b933199a007d /src
parent8563ccae2caf0119355c5c80cfa59da19ce809d6 (diff)
downloadpostgresql-921de09e40677304c8be5aca1f5526fa5b0adb25.tar.gz
postgresql-921de09e40677304c8be5aca1f5526fa5b0adb25.zip
Use '&nbsp;' escapes for leading spaces in table values, for use in
EXPLAIN output. Jean-Paul Argudo
Diffstat (limited to 'src')
-rw-r--r--src/bin/psql/print.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/bin/psql/print.c b/src/bin/psql/print.c
index d1ef95f50a6..9f605b088ed 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.59 2005/06/14 02:57:41 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.60 2005/06/14 22:15:57 momjian Exp $
*/
#include "postgres_fe.h"
#include "common.h"
@@ -595,8 +595,10 @@ void
html_escaped_print(const char *in, FILE *fout)
{
const char *p;
-
+ bool leading_space = true;
+
for (p = in; *p; p++)
+ {
switch (*p)
{
case '&':
@@ -617,9 +619,19 @@ html_escaped_print(const char *in, FILE *fout)
case '\'':
fputs("&apos;", fout);
break;
+ case ' ':
+ /* protect leading space, for EXPLAIN output */
+ if (leading_space)
+ fputs("&nbsp;", fout);
+ else
+ fputs(" ", fout);
+ break;
default:
fputc(*p, fout);
}
+ if (*p != ' ')
+ leading_space = false;
+ }
}