From dbf34c5c19f8f5ebfd0a27e5d83ffad57b283b9e Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Mon, 30 Mar 1998 17:39:16 +0000
Subject: [PATCH] This problem had nothing to do with the upgrades I made. 
 There was a 2000 character buffer allocated for results, and the files you
 refer to produce a 2765 byte column called formsource.  This should not have
 worked with any version of libpgtcl.

Nevertheless, the limit is an artificial one, since there is no
need to use this intermediate buffer where it is being used and
abused.

Randy Kunkee <kunkee@pluto.ops.NeoSoft.com>
---
 src/interfaces/libpgtcl/pgtclCmds.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/interfaces/libpgtcl/pgtclCmds.c b/src/interfaces/libpgtcl/pgtclCmds.c
index c68c842fedc..0d80434edbd 100644
--- a/src/interfaces/libpgtcl/pgtclCmds.c
+++ b/src/interfaces/libpgtcl/pgtclCmds.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclCmds.c,v 1.22 1998/03/15 08:02:58 scrappy Exp $
+ *	  $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclCmds.c,v 1.23 1998/03/30 17:39:16 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1226,6 +1226,7 @@ Pg_select(ClientData cData, Tcl_Interp *interp, int argc, char **argv)
 	}
 
 	Tcl_SetVar2(interp, argv[3], ".headers", Tcl_DStringValue(&headers), 0);
+	Tcl_DStringFree(&headers);
 	sprintf(buffer, "%d", ncols);
 	Tcl_SetVar2(interp, argv[3], ".numcols", buffer, 0);
 
@@ -1236,8 +1237,7 @@ Pg_select(ClientData cData, Tcl_Interp *interp, int argc, char **argv)
 
 		for (column = 0; column < ncols; column++)
 		{
-			strcpy(buffer, PQgetvalue(result, tupno, column));
-			Tcl_SetVar2(interp, argv[3], info[column].cname, buffer, 0);
+			Tcl_SetVar2(interp, argv[3], info[column].cname, PQgetvalue(result, tupno, column), 0);
 		}
 
 		Tcl_SetVar2(interp, argv[3], ".command", "update", 0);
-- 
GitLab