Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8738e47

Browse files
committed
From: darcy@druid.net (D'Arcy J.M. Cain)
Fix for libpgtcl:I forgot to clear out the variable created and the memory used.
1 parent7f833f8 commit8738e47

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

‎src/interfaces/libpgtcl/pgtclCmds.c

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclCmds.c,v 1.9 1997/01/03 18:48:30 scrappy Exp $
10+
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclCmds.c,v 1.10 1997/01/11 14:24:40 scrappy Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -1129,9 +1129,9 @@ Pg_select(ClientData cData, Tcl_Interp *interp, int argc, char **argv)
11291129
intr;
11301130
size_ttupno,column,ncols;
11311131
Tcl_DStringheaders;
1132+
charbuffer[2048];
11321133
struct {
11331134
char*cname;
1134-
char*data;
11351135
intchange;
11361136
}*info;
11371137

@@ -1166,24 +1166,23 @@ Pg_select(ClientData cData, Tcl_Interp *interp, int argc, char **argv)
11661166
for (column=0;column<ncols;column++)
11671167
{
11681168
info[column].cname=PQfname(result,column);
1169-
info[column].data=malloc(2000);
11701169
info[column].change=0;
11711170
Tcl_DStringAppendElement(&headers,info[column].cname);
11721171
}
11731172

11741173
Tcl_SetVar2(interp,argv[3],".headers",Tcl_DStringValue(&headers),0);
1175-
sprintf(info[0].data,"%d",ncols);
1176-
Tcl_SetVar2(interp,argv[3],".numcols",info[0].data,0);
1174+
sprintf(buffer,"%d",ncols);
1175+
Tcl_SetVar2(interp,argv[3],".numcols",buffer,0);
11771176

11781177
for (tupno=0;tupno<PQntuples(result);tupno++)
11791178
{
1180-
sprintf(info[0].data,"%d",tupno);
1181-
Tcl_SetVar2(interp,argv[3],".tupno",info[0].data,0);
1179+
sprintf(buffer,"%d",tupno);
1180+
Tcl_SetVar2(interp,argv[3],".tupno",buffer,0);
11821181

11831182
for (column=0;column<ncols;column++)
11841183
{
1185-
strcpy(info[column].data,PQgetvalue(result,tupno,column));
1186-
Tcl_SetVar2(interp,argv[3],info[column].cname,info[column].data,0);
1184+
strcpy(buffer,PQgetvalue(result,tupno,column));
1185+
Tcl_SetVar2(interp,argv[3],info[column].cname,buffer,0);
11871186
}
11881187

11891188
Tcl_SetVar2(interp,argv[3],".command","update",0);
@@ -1206,6 +1205,8 @@ Pg_select(ClientData cData, Tcl_Interp *interp, int argc, char **argv)
12061205
}
12071206
}
12081207

1208+
free(info);
1209+
Tcl_UnsetVar(interp,argv[3],0);
12091210
Tcl_AppendResult(interp,"",0);
12101211
returnTCL_OK;
12111212
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp