https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=4dd3dc876ca18ffdce88cbb422046cbe4bf23e12

commit 4dd3dc876ca18ffdce88cbb422046cbe4bf23e12
Author: Takashi Yano <[email protected]>
Date:   Fri Feb 16 02:37:46 2024 +0900

    Cygwin: console: Fix a bug that cannot handle consoles more than 32.
    
    Fixes: 3721a756b0d8 ("Cygwin: console: Make the console accessible from 
other terminals.")
    Signed-off-by: Takashi Yano <[email protected]>

Diff:
---
 winsup/cygwin/devices.cc    | 2 +-
 winsup/cygwin/devices.in    | 2 +-
 winsup/cygwin/release/3.5.1 | 2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/winsup/cygwin/devices.cc b/winsup/cygwin/devices.cc
index b14613bc7..5b67fd1da 100644
--- a/winsup/cygwin/devices.cc
+++ b/winsup/cygwin/devices.cc
@@ -84,7 +84,7 @@ exists_console (const device& dev)
       if (dev.get_minor () < MAX_CONS_DEV)
        {
          unsigned long bitmask = fhandler_console::console_unit (-1);
-         return bitmask & (1UL << dev.get_minor ());
+         return !!(bitmask & (1UL << dev.get_minor ()));
        }
       return false;
     }
diff --git a/winsup/cygwin/devices.in b/winsup/cygwin/devices.in
index e15a35f25..be54346fb 100644
--- a/winsup/cygwin/devices.in
+++ b/winsup/cygwin/devices.in
@@ -80,7 +80,7 @@ exists_console (const device& dev)
       if (dev.get_minor () < MAX_CONS_DEV)
        {
          unsigned long bitmask = fhandler_console::console_unit (-1);
-         return bitmask & (1UL << dev.get_minor ());
+         return !!(bitmask & (1UL << dev.get_minor ()));
        }
       return false;
     }
diff --git a/winsup/cygwin/release/3.5.1 b/winsup/cygwin/release/3.5.1
index e041f98f3..96d2ad32f 100644
--- a/winsup/cygwin/release/3.5.1
+++ b/winsup/cygwin/release/3.5.1
@@ -18,3 +18,5 @@ Fixes:
   Addresses: https://github.com/msys2/msys2-runtime/issues/198
 
 - Fix the problem that VMIN and VTIME does not work at all in console.
+
+- Fix a bug that cannot handle consoles more than 32, rather than 64.

Reply via email to