diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-01-31 14:58:07 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-01-31 14:58:07 (GMT) |
| commit | bfad7e731e065f729b1b29430eadc5599fed2221 (patch) | |
| tree | e70de8a0b599ae989b87e4991c3da262f6ea1d33 /generic/tclZlib.c | |
| parent | ff4989d1928248d02e222c2590088c0a5dbb6f46 (diff) | |
| download | tcl-bfad7e731e065f729b1b29430eadc5599fed2221.zip tcl-bfad7e731e065f729b1b29430eadc5599fed2221.tar.gz tcl-bfad7e731e065f729b1b29430eadc5599fed2221.tar.bz2 | |
Make Tcl_ChannelCloseProc() deprecated too. Implement close2Proc and wideSeekProc for all internal channel types.
Diffstat (limited to 'generic/tclZlib.c')
| -rw-r--r-- | generic/tclZlib.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/generic/tclZlib.c b/generic/tclZlib.c index 49f1c39..44451e2 100644 --- a/generic/tclZlib.c +++ b/generic/tclZlib.c @@ -160,7 +160,7 @@ typedef struct { static Tcl_CmdDeleteProc ZlibStreamCmdDelete; static Tcl_DriverBlockModeProc ZlibTransformBlockMode; -static Tcl_DriverCloseProc ZlibTransformClose; +static Tcl_DriverClose2Proc ZlibTransformClose; static Tcl_DriverGetHandleProc ZlibTransformGetHandle; static Tcl_DriverGetOptionProc ZlibTransformGetOption; static Tcl_DriverHandlerProc ZlibTransformEventHandler; @@ -205,7 +205,7 @@ static void ZlibTransformTimerRun(void *clientData); static const Tcl_ChannelType zlibChannelType = { "zlib", TCL_CHANNEL_VERSION_5, - ZlibTransformClose, + TCL_CLOSE2PROC, ZlibTransformInput, ZlibTransformOutput, NULL, /* seekProc */ @@ -213,7 +213,7 @@ static const Tcl_ChannelType zlibChannelType = { ZlibTransformGetOption, ZlibTransformWatch, ZlibTransformGetHandle, - NULL, /* close2Proc */ + ZlibTransformClose, /* close2Proc */ ZlibTransformBlockMode, NULL, /* flushProc */ ZlibTransformEventHandler, @@ -2895,11 +2895,16 @@ ZlibStreamHeaderCmd( static int ZlibTransformClose( void *instanceData, - Tcl_Interp *interp) + Tcl_Interp *interp, + int flags) { ZlibChannelData *cd = instanceData; int e, written, result = TCL_OK; + if ((flags & (TCL_CLOSE_READ | TCL_CLOSE_WRITE)) != 0) { + return EINVAL; + } + /* * Delete the support timer. */ |
