summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-08-21 21:43:16 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-08-21 21:43:16 (GMT)
commitc42f34e33320fc95bf80bdca0da2bae7bebbbe0f (patch)
treee045a34d312e2e08725507f0d2e43c6d65bc400a /generic/tclIO.c
parent64a63fa7c5594097d782968787ad37e46f9e4f5e (diff)
parent916d72ec1ce61ebd585a78c6a9565f5c49bb8d24 (diff)
downloadtcl-c42f34e33320fc95bf80bdca0da2bae7bebbbe0f.zip
tcl-c42f34e33320fc95bf80bdca0da2bae7bebbbe0f.tar.gz
tcl-c42f34e33320fc95bf80bdca0da2bae7bebbbe0f.tar.bz2
Merge 8.7
Diffstat (limited to 'generic/tclIO.c')
-rw-r--r--generic/tclIO.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index 585dc7b..5313eed 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -4488,8 +4488,8 @@ Write(
}
}
}
- if ((flushed < total) && (GotFlag(statePtr, CHANNEL_UNBUFFERED) ||
- (needNlFlush && GotFlag(statePtr, CHANNEL_LINEBUFFERED)))) {
+ if (((flushed < total) && GotFlag(statePtr, CHANNEL_UNBUFFERED)) ||
+ (needNlFlush && GotFlag(statePtr, CHANNEL_LINEBUFFERED))) {
if (FlushChannel(NULL, chanPtr, 0) != 0) {
return -1;
}
@@ -4749,7 +4749,6 @@ Tcl_GetsObj(
eol = dst;
skip = 1;
if (GotFlag(statePtr, INPUT_SAW_CR)) {
- ResetFlag(statePtr, INPUT_SAW_CR);
if ((eol < dstEnd) && (*eol == '\n')) {
/*
* Skip the raw bytes that make up the '\n'.
@@ -4799,8 +4798,10 @@ Tcl_GetsObj(
skip++;
}
eol--;
+ ResetFlag(statePtr, INPUT_SAW_CR);
goto gotEOL;
} else if (*eol == '\n') {
+ ResetFlag(statePtr, INPUT_SAW_CR);
goto gotEOL;
}
}
@@ -4829,7 +4830,7 @@ Tcl_GetsObj(
Tcl_SetObjLength(objPtr, oldLength);
CommonGetsCleanup(chanPtr);
copiedTotal = -1;
- ResetFlag(statePtr, CHANNEL_BLOCKED);
+ ResetFlag(statePtr, CHANNEL_BLOCKED|INPUT_SAW_CR);
goto done;
}
goto gotEOL;