diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-04-05 16:05:36 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-04-05 16:05:36 (GMT) |
commit | fc9cd641eb779a5038416f122c6d0da0949cbbcb (patch) | |
tree | 73c640eb4140eec8667af575680ede04aee633a3 /win/tclWinChan.c | |
parent | 4df4a598eb231cdc6d925b2330d883786b448e71 (diff) | |
download | tcl-fc9cd641eb779a5038416f122c6d0da0949cbbcb.zip tcl-fc9cd641eb779a5038416f122c6d0da0949cbbcb.tar.gz tcl-fc9cd641eb779a5038416f122c6d0da0949cbbcb.tar.bz2 |
Make sure that infoPtr->validMask only contains TCL_READABLE|TCL_WRITABLE|TCL_EXCEPTION, no other flags
Diffstat (limited to 'win/tclWinChan.c')
-rw-r--r-- | win/tclWinChan.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/win/tclWinChan.c b/win/tclWinChan.c index 8a4db89..93596ee 100644 --- a/win/tclWinChan.c +++ b/win/tclWinChan.c @@ -1092,7 +1092,7 @@ Tcl_MakeFileChannel( TclFile readFile = NULL, writeFile = NULL; BOOL result; - if (mode == 0) { + if ((mode & (TCL_READABLE|TCL_WRITABLE)) == 0) { return NULL; } @@ -1375,7 +1375,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; } } @@ -1388,7 +1388,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; |