Roland,

You said if I made a patch to move direct_cons_set_flags to the first
time the console is device_open'd, you would include it in oskit-mach.  
This is that patch.

Thanks,
Kevin

ChangeLog entry:
2001-10-10  Kevin Kreamer  <[EMAIL PROTECTED]>

        * ds_osenv.c: Don't include direct_cons.h.
        (ds_osenv_init): Don't call direct_cons_set_flags.
        * ds_routines.c: Instead include direct_cons.h here.
        (ds_device_open): Call direct_cons_set_flags here, but only if it 
        hasn't already been called.


Index: oskit/ds_osenv.c
===================================================================
RCS file: /cvsroot/hurd/gnumach/oskit/Attic/ds_osenv.c,v
retrieving revision 1.1.2.1
diff -u -p -r1.1.2.1 ds_osenv.c
--- oskit/ds_osenv.c    1999/11/25 23:27:06     1.1.2.1
+++ oskit/ds_osenv.c    2001/10/10 19:20:31
@@ -3,7 +3,6 @@
 #include <oskit/dev/linux.h>
 #include <oskit/c/stdlib.h>
 
-#include <oskit/machine/pc/direct_cons.h> /* XXX direct_cons_set_flags */
 #include <oskit/c/termios.h>
 #include <oskit/tty.h>
 
@@ -52,7 +51,6 @@ ds_osenv_init (void)
                                   oskit_create_osenv_intr (),
                                   oskit_create_osenv_sleep (),
                                   &ds_console_stream);
-      direct_cons_set_flags (DC_NO_ONLCR);
     }
   if (rc)
     panic ("cannot create interrupt-driven console stream: %x\n", rc);
Index: oskit/ds_routines.c
===================================================================
RCS file: /cvsroot/hurd/gnumach/oskit/Attic/ds_routines.c,v
retrieving revision 1.1.2.3
diff -u -p -r1.1.2.3 ds_routines.c
--- oskit/ds_routines.c 2001/10/03 20:27:10     1.1.2.3
+++ oskit/ds_routines.c 2001/10/10 19:20:32
@@ -48,6 +48,8 @@
 #include <oskit/com/stream.h>
 #include <oskit/c/stdlib.h>
 
+#include <oskit/machine/pc/direct_cons.h> /* XXX direct_cons_set_flags */
+
 #include <device/device_port.h>
 
 #include <string.h>
@@ -596,6 +598,7 @@ ds_device_open (ipc_port_t open_port, ip
   oskit_error_t rc;
   oskit_device_t *com_device;
   const char *subpart = 0;
+  static int cons_flag = 0;  /* we frob the console flags yet? */
 
   /* Open must be called on the master device port.  */
   if (open_port != master_device_port)
@@ -613,6 +616,12 @@ ds_device_open (ipc_port_t open_port, ip
     }
   else if (!strcmp (name, "console")) /* Special case.  */
     {
+      if (!cons_flag) 
+        { 
+          /* turn off \n->\r\n conversion, but do it only once */
+          direct_cons_set_flags (DC_NO_ONLCR);
+          cons_flag = 1;
+       }
       com_device = (oskit_device_t *) ds_console_stream; /* not a device */
       oskit_device_addref (com_device);
     }

-- 
Kevin Kreamer
FsckIt on openprojects.net


_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to