[newlib-cygwin] Cygwin: console: Fix a bug that cannot handle consoles more than 32.

Takashi Yano tyan0@sourceware.org
Thu Feb 15 17:45:06 GMT 2024


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

commit 4dd3dc876ca18ffdce88cbb422046cbe4bf23e12
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
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 <takashi.yano@nifty.ne.jp>

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.


More information about the Cygwin-cvs mailing list