[BusyBox-cvs] busybox/console-tools deallocvt.c,1.27,1.28

Glenn McGrath bug1 at busybox.net
Thu Jan 15 11:50:21 UTC 2004


Update of /var/cvs/busybox/console-tools
In directory nail:/tmp/cvs-serv7362/console-tools

Modified Files:
	deallocvt.c 
Log Message:
Patch by Tito, reduce size of deallocvt, also make the usage message 
clearer (from N to [N]) and indirectly (through bb_xgetlarg) adds support
for  -h ;-)


Index: deallocvt.c
===================================================================
RCS file: /var/cvs/busybox/console-tools/deallocvt.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- deallocvt.c	22 Oct 2003 10:32:55 -0000	1.27
+++ deallocvt.c	15 Jan 2004 11:50:17 -0000	1.28
@@ -34,33 +34,23 @@
 
 int deallocvt_main(int argc, char *argv[])
 {
-	int fd, num = 0;
-
-	if (argc > 2) {
-		bb_show_usage();
-	}
-
-	fd = get_console_fd();
-	
-	/*  num=0  deallocate all unused consoles */
-	if (argc == 1) {
-		goto disallocate_all;
-	}
+	/* num = 0 deallocate all unused consoles */
+	int num = 0;
 
-	num = bb_xgetlarg(argv[1], 10, 0, INT_MAX);
-	switch (num) {
-		case 0:
-			bb_error_msg("0: illegal VT number");
-			break;
+	switch(argc)
+	{
+		case 2:
+			if((num = bb_xgetlarg(argv[1], 10, 0, INT_MAX)) == 0)
+				bb_error_msg_and_die("0: illegal VT number");
+		/* Falltrough */
 		case 1:
-			bb_error_msg("VT 1 cannot be deallocated");
 			break;
 		default:
-disallocate_all:
-			if (ioctl(fd, VT_DISALLOCATE, num)) {
-				bb_perror_msg_and_die("VT_DISALLOCATE");
-			}
-			return EXIT_SUCCESS;
+			bb_show_usage();
 	}
-	return EXIT_FAILURE;
+
+	if (ioctl( get_console_fd(), VT_DISALLOCATE, num )) {
+		bb_perror_msg_and_die("VT_DISALLOCATE");
+	}
+	return EXIT_SUCCESS;
 }




More information about the busybox-cvs mailing list