summaryrefslogtreecommitdiffstats
path: root/generic/tclIORTrans.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2023-10-11 09:45:45 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2023-10-11 09:45:45 (GMT)
commit76c89fce6cae52d0fbdbba1ff0c412f73e7985e9 (patch)
tree42d3c2474078cdab8f39c4925c5b0237ab81b66e /generic/tclIORTrans.c
parenta74d73bc13dd4961d02d3974912000145bff5d1a (diff)
parenta64802e7ede7f1794273c96ae87b61920c268964 (diff)
downloadtcl-76c89fce6cae52d0fbdbba1ff0c412f73e7985e9.zip
tcl-76c89fce6cae52d0fbdbba1ff0c412f73e7985e9.tar.gz
tcl-76c89fce6cae52d0fbdbba1ff0c412f73e7985e9.tar.bz2
Fix [8ab8a138c9]: Functions passed to Tcl_EventuallyFree() must be declared/defined as Tcl_FreeProc
Diffstat (limited to 'generic/tclIORTrans.c')
-rw-r--r--generic/tclIORTrans.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/generic/tclIORTrans.c b/generic/tclIORTrans.c
index 730820e..bc0e20c 100644
--- a/generic/tclIORTrans.c
+++ b/generic/tclIORTrans.c
@@ -417,7 +417,7 @@ static ReflectedTransform * NewReflectedTransform(Tcl_Interp *interp,
Tcl_Obj *cmdpfxObj, int mode, Tcl_Obj *handleObj,
Tcl_Channel parentChan);
static Tcl_Obj * NextHandle(void);
-static void FreeReflectedTransform(ReflectedTransform *rtPtr);
+static Tcl_FreeProc FreeReflectedTransform;
static void FreeReflectedTransformArgs(ReflectedTransform *rtPtr);
static int InvokeTclMethod(ReflectedTransform *rtPtr,
const char *method, Tcl_Obj *argOneObj,
@@ -718,7 +718,7 @@ TclChanPushObjCmd(
* structure.
*/
- Tcl_EventuallyFree(rtPtr, (Tcl_FreeProc *) FreeReflectedTransform);
+ Tcl_EventuallyFree(rtPtr, FreeReflectedTransform);
return TCL_ERROR;
#undef CHAN
@@ -924,7 +924,7 @@ ReflectClose(
}
#endif /* TCL_THREADS */
- Tcl_EventuallyFree(rtPtr, (Tcl_FreeProc *) FreeReflectedTransform);
+ Tcl_EventuallyFree(rtPtr, FreeReflectedTransform);
return EOK;
}
@@ -941,7 +941,7 @@ ReflectClose(
#ifdef TCL_THREADS
if (rtPtr->thread != Tcl_GetCurrentThread()) {
Tcl_EventuallyFree(rtPtr,
- (Tcl_FreeProc *) FreeReflectedTransform);
+ FreeReflectedTransform);
return errorCode;
}
#endif /* TCL_THREADS */
@@ -955,7 +955,7 @@ ReflectClose(
#ifdef TCL_THREADS
if (rtPtr->thread != Tcl_GetCurrentThread()) {
Tcl_EventuallyFree(rtPtr,
- (Tcl_FreeProc *) FreeReflectedTransform);
+ FreeReflectedTransform);
return errorCode;
}
#endif /* TCL_THREADS */
@@ -975,7 +975,7 @@ ReflectClose(
ForwardOpToOwnerThread(rtPtr, ForwardedClose, &p);
result = p.base.code;
- Tcl_EventuallyFree(rtPtr, (Tcl_FreeProc *) FreeReflectedTransform);
+ Tcl_EventuallyFree(rtPtr, FreeReflectedTransform);
if (result != TCL_OK) {
PassReceivedErrorInterp(interp, &p);
@@ -1034,7 +1034,7 @@ ReflectClose(
#endif /* TCL_THREADS */
}
- Tcl_EventuallyFree (rtPtr, (Tcl_FreeProc *) FreeReflectedTransform);
+ Tcl_EventuallyFree(rtPtr, FreeReflectedTransform);
return errorCodeSet ? errorCode : ((result == TCL_OK) ? EOK : EINVAL);
}
@@ -1920,8 +1920,9 @@ FreeReflectedTransformArgs(
static void
FreeReflectedTransform(
- ReflectedTransform *rtPtr)
+ char *blockPtr)
{
+ ReflectedTransform *rtPtr = (ReflectedTransform *) blockPtr;
TimerKill(rtPtr);
ResultClear(&rtPtr->result);