svn commit: trunk/busybox: console-tools include libbb

vda at busybox.net vda at busybox.net
Tue Aug 5 23:32:28 UTC 2008


Author: vda
Date: 2008-08-05 16:32:27 -0700 (Tue, 05 Aug 2008)
New Revision: 23057

Log:
*: use get_console_fd() as appropriate, and make it fail on open error -
 get_console_fd_or_die().

function                                             old     new   delta
get_console_fd_or_die                                  -     163    +163
loadkmap_main                                        211     201     -10
loadfont_main                                        440     430     -10
dumpkmap_main                                        218     208     -10
kbd_mode_main                                        158     146     -12
setkeycodes_main                                     156     143     -13
get_console_fd                                       163       -    -163
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/5 up/down: 163/-218)          Total: -55 bytes



Modified:
   trunk/busybox/console-tools/chvt.c
   trunk/busybox/console-tools/deallocvt.c
   trunk/busybox/console-tools/dumpkmap.c
   trunk/busybox/console-tools/kbd_mode.c
   trunk/busybox/console-tools/loadfont.c
   trunk/busybox/console-tools/loadkmap.c
   trunk/busybox/console-tools/setkeycodes.c
   trunk/busybox/include/libbb.h
   trunk/busybox/libbb/get_console.c


Changeset:
Modified: trunk/busybox/console-tools/chvt.c
===================================================================
--- trunk/busybox/console-tools/chvt.c	2008-08-05 23:01:01 UTC (rev 23056)
+++ trunk/busybox/console-tools/chvt.c	2008-08-05 23:32:27 UTC (rev 23057)
@@ -19,7 +19,6 @@
 	}
 
 	num = xatou_range(argv[1], 1, 63);
-	/* double cast suppresses "cast to ptr from int of different size" */
-	console_make_active(get_console_fd(), num);
+	console_make_active(get_console_fd_or_die(), num);
 	return EXIT_SUCCESS;
 }

Modified: trunk/busybox/console-tools/deallocvt.c
===================================================================
--- trunk/busybox/console-tools/deallocvt.c	2008-08-05 23:01:01 UTC (rev 23056)
+++ trunk/busybox/console-tools/deallocvt.c	2008-08-05 23:32:27 UTC (rev 23057)
@@ -28,6 +28,6 @@
 	}
 
 	/* double cast suppresses "cast to ptr from int of different size" */
-	xioctl(get_console_fd(), VT_DISALLOCATE, (void *)(ptrdiff_t)num);
+	xioctl(get_console_fd_or_die(), VT_DISALLOCATE, (void *)(ptrdiff_t)num);
 	return EXIT_SUCCESS;
 }

Modified: trunk/busybox/console-tools/dumpkmap.c
===================================================================
--- trunk/busybox/console-tools/dumpkmap.c	2008-08-05 23:01:01 UTC (rev 23056)
+++ trunk/busybox/console-tools/dumpkmap.c	2008-08-05 23:32:27 UTC (rev 23057)
@@ -32,7 +32,7 @@
 
 /*	bb_warn_ignoring_args(argc>=2);*/
 
-	fd = xopen(CURRENT_VC, O_RDWR);
+	fd = get_console_fd_or_die();
 
 	write(STDOUT_FILENO, "bkeymap", 7);
 

Modified: trunk/busybox/console-tools/kbd_mode.c
===================================================================
--- trunk/busybox/console-tools/kbd_mode.c	2008-08-05 23:01:01 UTC (rev 23056)
+++ trunk/busybox/console-tools/kbd_mode.c	2008-08-05 23:32:27 UTC (rev 23057)
@@ -19,17 +19,15 @@
 	int fd;
 	unsigned opt;
 	enum {
-		SCANCODE = (1<<0),
-		ASCII	 = (1<<1),
-		MEDIUMRAW= (1<<2),
-		UNICODE	 = (1<<3)
+		SCANCODE  = (1 << 0),
+		ASCII	  = (1 << 1),
+		MEDIUMRAW = (1 << 2),
+		UNICODE	  = (1 << 3)
 	};
 	static const char KD_xxx[] ALIGN1 = "saku";
 	opt = getopt32(argv, KD_xxx);
-	fd = get_console_fd();
-/*	if (fd < 0)
-		return EXIT_FAILURE;
-*/
+	fd = get_console_fd_or_die();
+
 	if (!opt) { /* print current setting */
 		const char *mode = "unknown";
 		int m;
@@ -46,7 +44,8 @@
 		printf("The keyboard is in %s mode\n", mode);
 	} else {
 		opt = opt & UNICODE ? 3 : opt >> 1;
-		xioctl(fd, KDSKBMODE, opt);
+		/* double cast prevents warnings about widening conversion */
+		xioctl(fd, KDSKBMODE, (void*)(ptrdiff_t)opt);
 	}
 
 	if (ENABLE_FEATURE_CLEAN_UP)

Modified: trunk/busybox/console-tools/loadfont.c
===================================================================
--- trunk/busybox/console-tools/loadfont.c	2008-08-05 23:01:01 UTC (rev 23056)
+++ trunk/busybox/console-tools/loadfont.c	2008-08-05 23:32:27 UTC (rev 23057)
@@ -174,7 +174,7 @@
 	if (argc != 1)
 		bb_show_usage();
 
-	fd = xopen(CURRENT_VC, O_RDWR);
+	fd = get_console_fd_or_die();
 	loadnewfont(fd);
 
 	return EXIT_SUCCESS;

Modified: trunk/busybox/console-tools/loadkmap.c
===================================================================
--- trunk/busybox/console-tools/loadkmap.c	2008-08-05 23:01:01 UTC (rev 23056)
+++ trunk/busybox/console-tools/loadkmap.c	2008-08-05 23:32:27 UTC (rev 23057)
@@ -35,7 +35,7 @@
 
 /*  bb_warn_ignoring_args(argc>=2);*/
 
-	fd = xopen(CURRENT_VC, O_RDWR);
+	fd = get_console_fd_or_die();
 
 	xread(STDIN_FILENO, flags, 7);
 	if (strncmp(flags, BINARY_KEYMAP_MAGIC, 7))

Modified: trunk/busybox/console-tools/setkeycodes.c
===================================================================
--- trunk/busybox/console-tools/setkeycodes.c	2008-08-05 23:01:01 UTC (rev 23056)
+++ trunk/busybox/console-tools/setkeycodes.c	2008-08-05 23:32:27 UTC (rev 23057)
@@ -26,11 +26,11 @@
 	int fd, sc;
 	struct kbkeycode a;
 
-	if (argc % 2 != 1 || argc < 2) {
+	if (!(argc & 1) /* if even */ || argc < 2) {
 		bb_show_usage();
 	}
 
-	fd = get_console_fd();
+	fd = get_console_fd_or_die();
 
 	while (argc > 2) {
 		a.keycode = xatou_range(argv[2], 0, 127);
@@ -40,7 +40,7 @@
 			a.scancode += 128;
 		}
 		ioctl_or_perror_and_die(fd, KDSETKEYCODE, &a,
-			"failed to set SCANCODE %x to KEYCODE %d",
+			"can't set SCANCODE %x to KEYCODE %d",
 			sc, a.keycode);
 		argc -= 2;
 		argv += 2;

Modified: trunk/busybox/include/libbb.h
===================================================================
--- trunk/busybox/include/libbb.h	2008-08-05 23:01:01 UTC (rev 23056)
+++ trunk/busybox/include/libbb.h	2008-08-05 23:32:27 UTC (rev 23057)
@@ -287,7 +287,7 @@
 extern int device_open(const char *device, int mode) FAST_FUNC;
 enum { GETPTY_BUFSIZE = 16 }; /* more than enough for "/dev/ttyXXX" */
 extern int xgetpty(char *line) FAST_FUNC;
-extern int get_console_fd(void) FAST_FUNC;
+extern int get_console_fd_or_die(void) FAST_FUNC;
 extern void console_make_active(int fd, const int vt_num) FAST_FUNC;
 extern char *find_block_device(const char *path) FAST_FUNC;
 /* bb_copyfd_XX print read/write errors and return -1 if they occur */

Modified: trunk/busybox/libbb/get_console.c
===================================================================
--- trunk/busybox/libbb/get_console.c	2008-08-05 23:01:01 UTC (rev 23056)
+++ trunk/busybox/libbb/get_console.c	2008-08-05 23:32:27 UTC (rev 23057)
@@ -38,7 +38,7 @@
  * if someone else used X (which does a chown on /dev/console).
  */
 
-int FAST_FUNC get_console_fd(void)
+int FAST_FUNC get_console_fd_or_die(void)
 {
 	static const char *const console_names[] = {
 		DEV_CONSOLE, CURRENT_VC, CURRENT_TTY
@@ -65,8 +65,8 @@
 		}
 	}
 
-	bb_error_msg("can't open console");
-	return fd;                      /* total failure */
+	bb_error_msg_and_die("can't open console");
+	/*return fd; - total failure */
 }
 
 /* From <linux/vt.h> */




More information about the busybox-cvs mailing list