Don't strip trailing backslashes from a line. Treat them more reasonably.
authorPeter Eisentraut <peter_e@gmx.net>
Mon, 17 Jul 2000 18:24:33 +0000 (18:24 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Mon, 17 Jul 2000 18:24:33 +0000 (18:24 +0000)
src/bin/psql/command.c
src/bin/psql/mainloop.c

index 4e6f9a2354aa2ac5ba43c8f12219d9107b099a73..3f160d382e7ab13e10c3f927d19da969a47ed417 100644 (file)
@@ -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')
index 0c72aeea6afaf313c43b036a8b16e8ee9b65ac62..1b456fb63f9807cc06fcbaa624fc8b4c518588d4 100644 (file)
@@ -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')
        {