]> granicus.if.org Git - postgresql/commitdiff
Fix to allow \f \ to make spaces as delimiter.
authorBruce Momjian <bruce@momjian.us>
Wed, 13 May 1998 03:27:07 +0000 (03:27 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 13 May 1998 03:27:07 +0000 (03:27 +0000)
src/bin/psql/psql.c
src/bin/psql/stringutils.c

index a13ac63545e4e1478579c8ac655f8a1dafdc27ef..0542d3951e9958ed4f769c57bb3818fce73fad07 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.142 1998/05/12 23:05:12 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.143 1998/05/13 03:27:07 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1988,6 +1988,8 @@ HandleSlashCmds(PsqlSettings *pset,
 
                                if (optarg)
                                        fs = optarg;
+                               if (optarg && !*optarg && strlen(cmd) > 2)
+                                       fs = cmd + 2;
                                if (pset->opt.fieldSep)
                                        free(pset->opt.fieldSep);
                                if (!(pset->opt.fieldSep = strdup(fs)))
index 62d8fef57479f0d3549b8f82b3937c179073dd0e..2b083ad2271c59a726d53e878e509b713ae5e0b5 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/bin/psql/stringutils.c,v 1.13 1998/02/26 04:39:13 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/bin/psql/stringutils.c,v 1.14 1998/05/13 03:27:07 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -56,11 +56,20 @@ leftTrim(char *s)
 char *
 rightTrim(char *s)
 {
-       char       *sEnd;
+       char       *sEnd, *bsEnd;
+       bool            in_bs = false;
 
        sEnd = s + strlen(s) - 1;
        while (sEnd >= s && isspace(*sEnd))
                sEnd--;
+       bsEnd = sEnd;
+       while (bsEnd >= s && *bsEnd == '\\')
+       {
+               in_bs = (in_bs == false);
+               bsEnd--;
+       }
+       if (in_bs && *sEnd)
+               sEnd++;
        if (sEnd < s)
                s[0] = '\0';
        else