diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-04-05 16:06:52 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-04-05 16:06:52 (GMT) |
commit | 3d9106c78b8e38fa4016a3f4d43db9c6900a93a0 (patch) | |
tree | 8539a6d220c828812856f5300357aec6e4fb7922 /win | |
parent | 1c6c9f56e950ca6c8f697b31209aeea184a74660 (diff) | |
parent | fc9cd641eb779a5038416f122c6d0da0949cbbcb (diff) | |
download | tcl-3d9106c78b8e38fa4016a3f4d43db9c6900a93a0.zip tcl-3d9106c78b8e38fa4016a3f4d43db9c6900a93a0.tar.gz tcl-3d9106c78b8e38fa4016a3f4d43db9c6900a93a0.tar.bz2 |
Merge 8.7
Diffstat (limited to 'win')
-rw-r--r-- | win/tclWinChan.c | 6 | ||||
-rw-r--r-- | win/tclWinSerial.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/win/tclWinChan.c b/win/tclWinChan.c index 7d1f849..cc030f0 100644 --- a/win/tclWinChan.c +++ b/win/tclWinChan.c @@ -1005,7 +1005,7 @@ Tcl_MakeFileChannel( TclFile readFile = NULL, writeFile = NULL; BOOL result; - if (mode == 0) { + if ((mode & (TCL_READABLE|TCL_WRITABLE)) == 0) { return NULL; } @@ -1287,7 +1287,7 @@ OpenFileChannel( for (infoPtr = tsdPtr->firstFilePtr; infoPtr != NULL; infoPtr = infoPtr->nextPtr) { if (infoPtr->handle == (HANDLE) handle) { - return (permissions==infoPtr->validMask) ? infoPtr->channel : NULL; + return ((permissions & (TCL_READABLE|TCL_WRITABLE|TCL_EXCEPTION))==infoPtr->validMask) ? infoPtr->channel : NULL; } } @@ -1300,7 +1300,7 @@ OpenFileChannel( */ infoPtr->nextPtr = NULL; - infoPtr->validMask = permissions; + infoPtr->validMask = permissions & (TCL_READABLE|TCL_WRITABLE|TCL_EXCEPTION); infoPtr->watchMask = 0; infoPtr->flags = appendMode; infoPtr->handle = handle; diff --git a/win/tclWinSerial.c b/win/tclWinSerial.c index f4b1813..b712cfd 100644 --- a/win/tclWinSerial.c +++ b/win/tclWinSerial.c @@ -1458,7 +1458,7 @@ TclWinOpenSerialChannel( infoPtr = (SerialInfo *)Tcl_Alloc(sizeof(SerialInfo)); memset(infoPtr, 0, sizeof(SerialInfo)); - infoPtr->validMask = permissions; + infoPtr->validMask = permissions & (TCL_READABLE|TCL_WRITABLE); infoPtr->handle = handle; infoPtr->channel = (Tcl_Channel) NULL; infoPtr->readable = 0; |