summaryrefslogtreecommitdiffstats
path: root/generic/tclFCmd.c
diff options
context:
space:
mode:
authordkf <dkf@noemail.net>2011-03-24 09:40:31 (GMT)
committerdkf <dkf@noemail.net>2011-03-24 09:40:31 (GMT)
commit85f370c058cfe231a9ac2bd5ea53da05a5606fa0 (patch)
tree0bbfd2f5dd51c491d2181d440377e8252b0d8ec2 /generic/tclFCmd.c
parent60fd77c2d6f5a8b021e43e56c7f66dc66cf6d1ce (diff)
downloadtcl-85f370c058cfe231a9ac2bd5ea53da05a5606fa0.zip
tcl-85f370c058cfe231a9ac2bd5ea53da05a5606fa0.tar.gz
tcl-85f370c058cfe231a9ac2bd5ea53da05a5606fa0.tar.bz2
Ensure that any reference to temporary index tables is squelched immediately
rather than hanging around to trip us up in the future. FossilOrigin-Name: e7289d12661027dc67a8aa95066e782a78a83bc5
Diffstat (limited to 'generic/tclFCmd.c')
-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",