From 8296df7cb7e4d3398fda3276bb2fc5336a8220ab Mon Sep 17 00:00:00 2001 From: dkf Date: Thu, 24 Mar 2011 09:40:31 +0000 Subject: Ensure that any reference to temporary index tables is squelched immediately rather than hanging around to trip us up in the future. --- ChangeLog | 6 ++++++ generic/tclFCmd.c | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/ChangeLog b/ChangeLog index c6554dd..f90c9f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-03-24 Donal K. Fellows + + * 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 * 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", -- cgit v0.12