summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2011-03-24 09:40:31 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2011-03-24 09:40:31 (GMT)
commit8296df7cb7e4d3398fda3276bb2fc5336a8220ab (patch)
tree0bbfd2f5dd51c491d2181d440377e8252b0d8ec2 /generic
parent34d54589721d694a76e1dc19d81ac93b68424281 (diff)
downloadtcl-8296df7cb7e4d3398fda3276bb2fc5336a8220ab.zip
tcl-8296df7cb7e4d3398fda3276bb2fc5336a8220ab.tar.gz
tcl-8296df7cb7e4d3398fda3276bb2fc5336a8220ab.tar.bz2
Ensure that any reference to temporary index tables is squelched immediately
rather than hanging around to trip us up in the future.
Diffstat (limited to 'generic')
-rw-r--r--generic/tclFCmd.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/generic/tclFCmd.c b/generic/tclFCmd.c
index 88d80a9..5af8630 100644
--- a/generic/tclFCmd.c
+++ b/generic/tclFCmd.c
@@ -986,6 +986,11 @@ TclFileAttrsCmd(interp, objc, objv)
"option", 0, &index) != TCL_OK) {
goto end;
}
+ if (numObjStrings != -1 && objv[0]->typePtr != NULL
+ && objv[0]->typePtr->freeIntRepProc != NULL) {
+ objv[0]->typePtr->freeIntRepProc(objv[0]);
+ objv[0]->typePtr = NULL;
+ }
if (Tcl_FSFileAttrsGet(interp, index, filePtr,
&objPtr) != TCL_OK) {
goto end;
@@ -1010,6 +1015,11 @@ TclFileAttrsCmd(interp, objc, objv)
"option", 0, &index) != TCL_OK) {
goto end;
}
+ if (numObjStrings != -1 && objv[i]->typePtr != NULL
+ && objv[i]->typePtr->freeIntRepProc != NULL) {
+ objv[i]->typePtr->freeIntRepProc(objv[i]);
+ objv[i]->typePtr = NULL;
+ }
if (i + 1 == objc) {
Tcl_AppendResult(interp, "value for \"",
Tcl_GetString(objv[i]), "\" missing",