diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | generic/tclFCmd.c | 10 |
2 files changed, 16 insertions, 0 deletions
@@ -1,3 +1,9 @@ +2011-03-24 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclFCmd.c (TclFileAttrsCmd): Ensure that any reference to + temporary index tables is squelched immediately rather than hanging + around to trip us up in the future. + 2011-03-16 Jan Nijtmans <nijtmans@users.sf.net> * unix/configure, unix/tcl.m4: SHLIB_LD_LIBS='${LIBS}' for OSF1-V*. 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", |