svn commit: [25747] trunk/busybox/init

vda at busybox.net vda at busybox.net
Thu Mar 19 02:35:45 UTC 2009


Author: vda
Date: 2009-03-19 02:35:44 +0000 (Thu, 19 Mar 2009)
New Revision: 25747

Log:
init: test for vt terminal with VT_OPENQRY,
 assume that anything else is TERM=vt102, not TERM=linux.
 (Serial console test is less correct)
 Tentatively closes bug 195.

function                                             old     new   delta
init_main                                            946     919     -27



Modified:
   trunk/busybox/init/init.c


Changeset:
Modified: trunk/busybox/init/init.c
===================================================================
--- trunk/busybox/init/init.c	2009-03-19 01:59:59 UTC (rev 25746)
+++ trunk/busybox/init/init.c	2009-03-19 02:35:44 UTC (rev 25747)
@@ -14,6 +14,7 @@
 #include <paths.h>
 #include <sys/reboot.h>
 #include <sys/resource.h>
+#include <linux/vt.h>
 
 
 /* Was a CONFIG_xxx option. A lot of people were building
@@ -161,33 +162,9 @@
 	}
 }
 
-/* From <linux/serial.h> */
-struct serial_struct {
-	int	type;
-	int	line;
-	unsigned int	port;
-	int	irq;
-	int	flags;
-	int	xmit_fifo_size;
-	int	custom_divisor;
-	int	baud_base;
-	unsigned short	close_delay;
-	char	io_type;
-	char	reserved_char[1];
-	int	hub6;
-	unsigned short	closing_wait; /* time to wait before closing */
-	unsigned short	closing_wait2; /* no longer used... */
-	unsigned char	*iomem_base;
-	unsigned short	iomem_reg_shift;
-	unsigned int	port_high;
-	unsigned long	iomap_base;	/* cookie passed into ioremap */
-	int	reserved[1];
-	/* Paranoia (imagine 64bit kernel overwriting 32bit userspace stack) */
-	uint32_t bbox_reserved[16];
-};
 static void console_init(void)
 {
-	struct serial_struct sr;
+	int vtno;
 	char *s;
 
 	s = getenv("CONSOLE");
@@ -211,8 +188,9 @@
 	}
 
 	s = getenv("TERM");
-	if (ioctl(STDIN_FILENO, TIOCGSERIAL, &sr) == 0) {
-		/* Force the TERM setting to vt102 for serial console
+	if (ioctl(STDIN_FILENO, VT_OPENQRY, &vtno) != 0) {
+		/* Not a linux terminal, probably serial console.
+		 * Force the TERM setting to vt102
 		 * if TERM is set to linux (the default) */
 		if (!s || strcmp(s, "linux") == 0)
 			putenv((char*)"TERM=vt102");



More information about the busybox-cvs mailing list