Wed Apr 22 21:17:35 1998 Christopher Faylor <cgf@cygnus.com>
authorChristopher Faylor <me+cygwin@cgf.cx>
Thu, 23 Apr 1998 01:26:23 +0000 (01:26 +0000)
committerChristopher Faylor <me+cygwin@cgf.cx>
Thu, 23 Apr 1998 01:26:23 +0000 (01:26 +0000)
      * gdbtk.c (_initialize_gdbtk): add cygwin32 specific code to
      allow `gdb -nw' to work when specified specified from a windows
      console-mode command line.

gdb/ChangeLog
gdb/gdbtk.c

index 96644d807b4153c412eefcfd2e3732ab21266514..6a232ba912e7d7cd6f823b8baff3b671820540d2 100644 (file)
@@ -1,3 +1,9 @@
+Wed Apr 22 21:17:35 1998  Christopher Faylor <cgf@cygnus.com>
+
+       * gdbtk.c (_initialize_gdbtk): add cygwin32 specific code to
+       allow `gdb -nw' to work when specified specified from a windows
+       console-mode command line.
+
 Wed Apr 22 15:38:56 1998  Tom Tromey  <tromey@cygnus.com>
 
        * configure: Rebuilt.
 Wed Apr 22 15:38:56 1998  Tom Tromey  <tromey@cygnus.com>
 
        * configure: Rebuilt.
index 81dda498d7ec9018711c5a2fdb5d36bdb70da9c5..78d1518c3d3144dac889d6b0451769ffaf62f75c 100644 (file)
@@ -3303,4 +3303,31 @@ _initialize_gdbtk ()
 
       init_ui_hook = gdbtk_init;
     }
 
       init_ui_hook = gdbtk_init;
     }
+#ifdef __CYGWIN32__
+  else
+    {
+      DWORD ft = GetFileType (GetStdHandle (STD_INPUT_HANDLE));
+      void cygwin32_attach_handle_to_fd (char *, int, HANDLE, int, int);
+
+      switch (ft)
+       {
+         case FILE_TYPE_DISK:
+         case FILE_TYPE_CHAR:
+         case FILE_TYPE_PIPE:
+           break;
+         default:
+           AllocConsole();
+           cygwin32_attach_handle_to_fd ("/dev/conin", 0,
+                                         GetStdHandle (STD_INPUT_HANDLE),
+                                         1, GENERIC_READ);
+           cygwin32_attach_handle_to_fd ("/dev/conin", 1,
+                                         GetStdHandle (STD_OUTPUT_HANDLE),
+                                         0, GENERIC_WRITE);
+           cygwin32_attach_handle_to_fd ("/dev/conin", 2,
+                                         GetStdHandle (STD_ERROR_HANDLE),
+                                         0, GENERIC_WRITE);
+           break;
+       }
+    }
+#endif
 }
 }