aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2000-07-17 18:24:33 +0000
committerPeter Eisentraut <peter_e@gmx.net>2000-07-17 18:24:33 +0000
commit5da7e533f7860d3a00e784c638db0ac7b11bd36d (patch)
treeefc93a1f04551330a609b2fa76947699201fcccf /src
parent4fa37381f1c61a57df1957e2322eb1fa201fe984 (diff)
downloadpostgresql-5da7e533f7860d3a00e784c638db0ac7b11bd36d.tar.gz
postgresql-5da7e533f7860d3a00e784c638db0ac7b11bd36d.zip
Don't strip trailing backslashes from a line. Treat them more reasonably.
Diffstat (limited to 'src')
-rw-r--r--src/bin/psql/command.c5
-rw-r--r--src/bin/psql/mainloop.c13
2 files changed, 5 insertions, 13 deletions
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 4e6f9a2354a..3f160d382e7 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -3,7 +3,7 @@
*
* Copyright 2000 by PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.34 2000/06/26 14:16:34 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.35 2000/07/17 18:24:32 petere Exp $
*/
#include "postgres.h"
#include "command.h"
@@ -111,6 +111,9 @@ HandleSlashCmds(const char *line,
{
continue_parse = &my_line[blank_loc];
my_line[blank_loc] = '\0';
+ /* If it's a double backslash, we skip it. */
+ if (my_line[blank_loc + 1] == '\\')
+ continue_parse += 2;
}
/* do we have an option string? */
else if (my_line[blank_loc] != '\0')
diff --git a/src/bin/psql/mainloop.c b/src/bin/psql/mainloop.c
index 0c72aeea6af..1b456fb63f9 100644
--- a/src/bin/psql/mainloop.c
+++ b/src/bin/psql/mainloop.c
@@ -3,7 +3,7 @@
*
* Copyright 2000 by PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/bin/psql/mainloop.c,v 1.33 2000/07/14 15:43:49 thomas Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/mainloop.c,v 1.34 2000/07/17 18:24:33 petere Exp $
*/
#include "postgres.h"
#include "mainloop.h"
@@ -248,17 +248,6 @@ MainLoop(FILE *source)
pset.lineno++;
- /* strip trailing backslashes, they don't have a clear meaning */
- while (1)
- {
- char *cp = strrchr(line, '\\');
-
- if (cp && (*(cp + 1) == '\0'))
- *cp = '\0';
- else
- break;
- }
-
/* nothing left on line? then ignore */
if (line[0] == '\0')
{