diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-02-28 13:36:00 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-02-28 13:36:00 (GMT) |
commit | 62d9150ef53073a2ab29f2ba1b46551f273e56ec (patch) | |
tree | e4e381889cb9b5ad4810a754541e88250e66964f /generic/tclIO.c | |
parent | 7c9fe49b51603b91dd59e1cfa55f10dcf3c2ceea (diff) | |
parent | 4227ef37bbd67235ead035bb544b3bcf864b1e87 (diff) | |
download | tcl-62d9150ef53073a2ab29f2ba1b46551f273e56ec.zip tcl-62d9150ef53073a2ab29f2ba1b46551f273e56ec.tar.gz tcl-62d9150ef53073a2ab29f2ba1b46551f273e56ec.tar.bz2 |
Merge 8.7
Diffstat (limited to 'generic/tclIO.c')
-rw-r--r-- | generic/tclIO.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c index 8a7cb2b..ff74a99 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -7552,7 +7552,7 @@ Tcl_Eof( ChannelState *statePtr = ((Channel *) chan)->state; /* State of real channel structure. */ - if (GotFlag(statePtr, CHANNEL_NONBLOCKING) + if (GotFlag(statePtr, CHANNEL_NONBLOCKING|CHANNEL_FCOPY) && GotFlag(statePtr, CHANNEL_ENCODING_ERROR)) { return 0; } @@ -9694,6 +9694,7 @@ CopyData( * the bottom of the stack. */ + SetFlag(inStatePtr, CHANNEL_FCOPY); inBinary = (inStatePtr->encoding == NULL); outBinary = (outStatePtr->encoding == NULL); sameEncoding = inStatePtr->encoding == outStatePtr->encoding @@ -9809,6 +9810,7 @@ CopyData( TclDecrRefCount(bufObj); bufObj = NULL; } + ResetFlag(inStatePtr, CHANNEL_FCOPY); return TCL_OK; } } @@ -9900,6 +9902,7 @@ CopyData( TclDecrRefCount(bufObj); bufObj = NULL; } + ResetFlag(inStatePtr, CHANNEL_FCOPY); return TCL_OK; } @@ -9922,6 +9925,7 @@ CopyData( TclDecrRefCount(bufObj); bufObj = NULL; } + ResetFlag(inStatePtr, CHANNEL_FCOPY); return TCL_OK; } } /* while */ @@ -9974,6 +9978,7 @@ CopyData( } } } + ResetFlag(inStatePtr, CHANNEL_FCOPY); return result; } |