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')
                {