]> granicus.if.org Git - postgresql/commitdiff
Use ' ' escapes for leading spaces in table values, for use in
authorBruce Momjian <bruce@momjian.us>
Tue, 14 Jun 2005 22:15:57 +0000 (22:15 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 14 Jun 2005 22:15:57 +0000 (22:15 +0000)
EXPLAIN output.

Jean-Paul Argudo

src/bin/psql/print.c

index d1ef95f50a635d4c1a3f523bd1e0ad7e089fd4df..9f605b088ed1b57725232c227ff7216fc54d9891 100644 (file)
@@ -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;
+       }
 }