]> granicus.if.org Git - postgresql/commitdiff
Fix for textcat on varchar() fields.
authorBruce Momjian <bruce@momjian.us>
Sun, 23 Nov 1997 21:39:12 +0000 (21:39 +0000)
committerBruce Momjian <bruce@momjian.us>
Sun, 23 Nov 1997 21:39:12 +0000 (21:39 +0000)
src/backend/utils/adt/varlena.c

index e149cc1a4bbecb3cc2ef3c75fb36935228242a2d..4c4aa5b3630ee74cb1e1a089ef2e9d0136c9aa21 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.21 1997/09/08 21:48:42 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.22 1997/11/23 21:39:12 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -253,9 +253,14 @@ textcat(text *t1, text *t2)
        len1 = (PointerIsValid(t1) ? (VARSIZE(t1) - VARHDRSZ) : 0);
        if (len1 < 0)
                len1 = 0;
+       while (len1 > 0 && VARDATA(t1)[len1 - 1] == '\0')
+               len1--;
+
        len2 = (PointerIsValid(t2) ? (VARSIZE(t2) - VARHDRSZ) : 0);
        if (len2 < 0)
                len2 = 0;
+       while (len2 > 0 && VARDATA(t2)[len2 - 1] == '\0')
+               len2--;
 
        result = PALLOC(len = len1 + len2 + VARHDRSZ);