From 1409819a870e3028e1c519aec84c3b396ab14348 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Sun, 23 Nov 1997 21:39:12 +0000
Subject: [PATCH] Fix for textcat on varchar() fields.

---
 src/backend/utils/adt/varlena.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c
index e149cc1a4bb..4c4aa5b3630 100644
--- a/src/backend/utils/adt/varlena.c
+++ b/src/backend/utils/adt/varlena.c
@@ -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);
 
-- 
GitLab