diff options
author | hobbs <hobbs> | 2003-07-16 21:25:07 (GMT) |
---|---|---|
committer | hobbs <hobbs> | 2003-07-16 21:25:07 (GMT) |
commit | 8950d01535cc68e18a799015b5bd31af5c9562c3 (patch) | |
tree | 7420a60f355dca8b31bfe9fec2dc4a6bb9cf47be /generic | |
parent | 807f03b48dcdb08f9acb0493b804a5b41d5bf7a0 (diff) | |
download | tcl-8950d01535cc68e18a799015b5bd31af5c9562c3.zip tcl-8950d01535cc68e18a799015b5bd31af5c9562c3.tar.gz tcl-8950d01535cc68e18a799015b5bd31af5c9562c3.tar.bz2 |
* generic/tclPreserve.c: In Result and Preserve'd routines, do not
* generic/tclUtil.c: assume that ckfree == free, as that is not
* generic/tclResult.c: always true. [Bug 756791] (fuller)
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclPreserve.c | 8 | ||||
-rw-r--r-- | generic/tclResult.c | 20 | ||||
-rw-r--r-- | generic/tclUtil.c | 5 |
3 files changed, 12 insertions, 21 deletions
diff --git a/generic/tclPreserve.c b/generic/tclPreserve.c index 50dfb02..04615b7 100644 --- a/generic/tclPreserve.c +++ b/generic/tclPreserve.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclPreserve.c,v 1.3 1999/04/16 00:46:52 stanton Exp $ + * RCS: @(#) $Id: tclPreserve.c,v 1.3.34.1 2003/07/16 21:25:07 hobbs Exp $ */ #include "tclInt.h" @@ -233,8 +233,7 @@ Tcl_Release(clientData) refArray[i] = refArray[inUse]; } if (mustFree) { - if ((freeProc == TCL_DYNAMIC) || - (freeProc == (Tcl_FreeProc *) free)) { + if (freeProc == TCL_DYNAMIC) { ckfree((char *) clientData); } else { Tcl_MutexUnlock(&preserveMutex); @@ -306,8 +305,7 @@ Tcl_EventuallyFree(clientData, freeProc) * No reference for this block. Free it now. */ - if ((freeProc == TCL_DYNAMIC) - || (freeProc == (Tcl_FreeProc *) free)) { + if (freeProc == TCL_DYNAMIC) { ckfree((char *) clientData); } else { (*freeProc)((char *)clientData); diff --git a/generic/tclResult.c b/generic/tclResult.c index 367ca80..9cfbd63 100644 --- a/generic/tclResult.c +++ b/generic/tclResult.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclResult.c,v 1.5 2002/01/25 20:40:55 dgp Exp $ + * RCS: @(#) $Id: tclResult.c,v 1.5.2.1 2003/07/16 21:25:07 hobbs Exp $ */ #include "tclInt.h" @@ -198,8 +198,7 @@ Tcl_DiscardResult(statePtr) if (statePtr->result == statePtr->appendResult) { ckfree(statePtr->appendResult); } else if (statePtr->freeProc) { - if ((statePtr->freeProc == TCL_DYNAMIC) - || (statePtr->freeProc == (Tcl_FreeProc *) free)) { + if (statePtr->freeProc == TCL_DYNAMIC) { ckfree(statePtr->result); } else { (*statePtr->freeProc)(statePtr->result); @@ -265,8 +264,7 @@ Tcl_SetResult(interp, string, freeProc) */ if (oldFreeProc != 0) { - if ((oldFreeProc == TCL_DYNAMIC) - || (oldFreeProc == (Tcl_FreeProc *) free)) { + if (oldFreeProc == TCL_DYNAMIC) { ckfree(oldResult); } else { (*oldFreeProc)(oldResult); @@ -359,8 +357,7 @@ Tcl_SetObjResult(interp, objPtr) */ if (iPtr->freeProc != NULL) { - if ((iPtr->freeProc == TCL_DYNAMIC) - || (iPtr->freeProc == (Tcl_FreeProc *) free)) { + if (iPtr->freeProc == TCL_DYNAMIC) { ckfree(iPtr->result); } else { (*iPtr->freeProc)(iPtr->result); @@ -413,8 +410,7 @@ Tcl_GetObjResult(interp) TclInitStringRep(objResultPtr, iPtr->result, length); if (iPtr->freeProc != NULL) { - if ((iPtr->freeProc == TCL_DYNAMIC) - || (iPtr->freeProc == (Tcl_FreeProc *) free)) { + if (iPtr->freeProc == TCL_DYNAMIC) { ckfree(iPtr->result); } else { (*iPtr->freeProc)(iPtr->result); @@ -751,8 +747,7 @@ Tcl_FreeResult(interp) register Interp *iPtr = (Interp *) interp; if (iPtr->freeProc != NULL) { - if ((iPtr->freeProc == TCL_DYNAMIC) - || (iPtr->freeProc == (Tcl_FreeProc *) free)) { + if (iPtr->freeProc == TCL_DYNAMIC) { ckfree(iPtr->result); } else { (*iPtr->freeProc)(iPtr->result); @@ -791,8 +786,7 @@ Tcl_ResetResult(interp) ResetObjResult(iPtr); if (iPtr->freeProc != NULL) { - if ((iPtr->freeProc == TCL_DYNAMIC) - || (iPtr->freeProc == (Tcl_FreeProc *) free)) { + if (iPtr->freeProc == TCL_DYNAMIC) { ckfree(iPtr->result); } else { (*iPtr->freeProc)(iPtr->result); diff --git a/generic/tclUtil.c b/generic/tclUtil.c index 2572891..cb15ffd 100644 --- a/generic/tclUtil.c +++ b/generic/tclUtil.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUtil.c,v 1.36.2.1 2003/04/16 23:31:46 dgp Exp $ + * RCS: @(#) $Id: tclUtil.c,v 1.36.2.2 2003/07/16 21:25:07 hobbs Exp $ */ #include "tclInt.h" @@ -1744,8 +1744,7 @@ Tcl_DStringGetResult(interp, dsPtr) dsPtr->length = strlen(iPtr->result); if (iPtr->freeProc != NULL) { - if ((iPtr->freeProc == TCL_DYNAMIC) - || (iPtr->freeProc == (Tcl_FreeProc *) free)) { + if (iPtr->freeProc == TCL_DYNAMIC) { dsPtr->string = iPtr->result; dsPtr->spaceAvl = dsPtr->length+1; } else { |