This is the mail archive of the cygwin-patches mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Cygwin: console: Revive Win7 compatibility.


- The commit fca4cda7a420d7b15ac217d008527e029d05758e broke Win7
  compatibility. This patch fixes the issue.
---
 winsup/cygwin/fhandler_console.cc | 10 +++++-----
 winsup/cygwin/select.cc           |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc
index 709b8255d..75143f27a 100644
--- a/winsup/cygwin/fhandler_console.cc
+++ b/winsup/cygwin/fhandler_console.cc
@@ -499,8 +499,11 @@ fhandler_console::process_input_message (void)
 
   termios *ti = &(get_ttyp ()->ti);
 
-	  /* Per MSDN, max size of buffer required is below 64K. */
-#define	  INREC_SIZE	(65536 / sizeof (INPUT_RECORD))
+  /* Per MSDN, max size of buffer required is below 64K. */
+  /* (65536 / sizeof (INPUT_RECORD)) is 3276, however,
+     ERROR_NOT_ENOUGH_MEMORY occurs in win7 if this value
+     is used. */
+#define INREC_SIZE 2048
 
   fhandler_console::input_states stat = input_processing;
   DWORD total_read, i;
@@ -1165,9 +1168,6 @@ fhandler_console::ioctl (unsigned int cmd, void *arg)
 	return -1;
       case FIONREAD:
 	{
-	  /* Per MSDN, max size of buffer required is below 64K. */
-#define	  INREC_SIZE	(65536 / sizeof (INPUT_RECORD))
-
 	  DWORD n;
 	  int ret = 0;
 	  INPUT_RECORD inp[INREC_SIZE];
diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc
index ed8c98d1c..8fdce06a4 100644
--- a/winsup/cygwin/select.cc
+++ b/winsup/cygwin/select.cc
@@ -1209,7 +1209,7 @@ peek_pty_slave (select_record *s, bool from_select)
 	{
 	  if (ptys->is_line_input ())
 	    {
-#define INREC_SIZE (65536 / sizeof (INPUT_RECORD))
+#define INREC_SIZE 2048
 	      INPUT_RECORD inp[INREC_SIZE];
 	      DWORD n;
 	      PeekConsoleInput (ptys->get_handle (), inp, INREC_SIZE, &n);
-- 
2.21.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]