From: Bruce Momjian Date: Tue, 14 Jun 2005 22:15:57 +0000 (+0000) Subject: Use ' ' escapes for leading spaces in table values, for use in X-Git-Tag: REL8_1_0BETA1~558 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=921de09e40677304c8be5aca1f5526fa5b0adb25;p=thirdparty%2Fpostgresql.git Use ' ' escapes for leading spaces in table values, for use in EXPLAIN output. Jean-Paul Argudo --- 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("'", fout); break; + case ' ': + /* protect leading space, for EXPLAIN output */ + if (leading_space) + fputs(" ", fout); + else + fputs(" ", fout); + break; default: fputc(*p, fout); } + if (*p != ' ') + leading_space = false; + } }