diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2011-03-24 09:40:31 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2011-03-24 09:40:31 (GMT) |
commit | 8296df7cb7e4d3398fda3276bb2fc5336a8220ab (patch) | |
tree | 0bbfd2f5dd51c491d2181d440377e8252b0d8ec2 /generic/tclFCmd.c | |
parent | 34d54589721d694a76e1dc19d81ac93b68424281 (diff) | |
download | tcl-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/tclFCmd.c')
-rw-r--r-- | generic/tclFCmd.c | 10 |
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", |