bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patch] direct_cons_set_flags


From: Kevin Kreamer
Subject: [patch] direct_cons_set_flags
Date: Wed, 10 Oct 2001 09:45:55 -0500
User-agent: Mutt/1.3.20i

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  <kkreamer@etherhogz.org>

        * 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]