From 85e07894dd32b71f4f609a27540b579175eea23a Mon Sep 17 00:00:00 2001 From: pooryorick Date: Wed, 20 Apr 2022 08:49:56 +0000 Subject: Remove some unnecessary buffer reference counting in Write(). The reference counting in FlushChannel() has got it covered. --- generic/tclIO.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/generic/tclIO.c b/generic/tclIO.c index 92bd91b..aa0a5a6 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -4363,7 +4363,6 @@ Write( bufPtr->nextAdded += saved; saved = 0; } - PreserveChannelBuffer(bufPtr); dst = InsertPoint(bufPtr); dstLen = SpaceLeft(bufPtr); @@ -4383,7 +4382,6 @@ Write( * We're reading from invalid/incomplete UTF-8. */ - ReleaseChannelBuffer(bufPtr); if (total == 0) { Tcl_SetErrno(EILSEQ); return -1; @@ -4457,7 +4455,6 @@ Write( if (IsBufferFull(bufPtr)) { if (FlushChannel(NULL, chanPtr, 0) != 0) { - ReleaseChannelBuffer(bufPtr); return -1; } flushed += statePtr->bufSize; @@ -4477,7 +4474,6 @@ Write( needNlFlush = 0; } } - ReleaseChannelBuffer(bufPtr); } if ((flushed < total) && (GotFlag(statePtr, CHANNEL_UNBUFFERED) || (needNlFlush && GotFlag(statePtr, CHANNEL_LINEBUFFERED)))) { -- cgit v0.12