7
7
*
8
8
*
9
9
* IDENTIFICATION
10
- * $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclCmds.c,v 1.15 1997/09/08 02:40:15 momjian Exp $
10
+ * $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclCmds.c,v 1.16 1997/09/25 15:48:51 momjian Exp $
11
11
*
12
12
*-------------------------------------------------------------------------
13
13
*/
@@ -1339,9 +1339,11 @@ Pg_select(ClientData cData, Tcl_Interp * interp, int argc, char **argv)
1339
1339
1340
1340
if ((r = Tcl_Eval (interp ,argv [4 ]))!= TCL_OK && r != TCL_CONTINUE )
1341
1341
{
1342
- if (r == TCL_BREAK )
1342
+ if (r == TCL_BREAK ) {
1343
+ /* I suppose that memory used by info and result must be released */
1344
+ free (info );PQclear (result );Tcl_UnsetVar (interp ,argv [3 ],0 );
1343
1345
return TCL_OK ;
1344
-
1346
+ }
1345
1347
if (r == TCL_ERROR )
1346
1348
{
1347
1349
char msg [60 ];
@@ -1350,12 +1352,15 @@ Pg_select(ClientData cData, Tcl_Interp * interp, int argc, char **argv)
1350
1352
interp -> errorLine );
1351
1353
Tcl_AddErrorInfo (interp ,msg );
1352
1354
}
1353
-
1355
+ /* also, releasing memory used by info and result */
1356
+ free (info );PQclear (result );Tcl_UnsetVar (interp ,argv [3 ],0 );
1354
1357
return r ;
1355
1358
}
1356
1359
}
1357
1360
1358
1361
free (info );
1362
+ /* Release memory used by result */
1363
+ PQclear (result );
1359
1364
Tcl_UnsetVar (interp ,argv [3 ],0 );
1360
1365
Tcl_AppendResult (interp ,"" ,0 );
1361
1366
return TCL_OK ;