From 17b4a20a9c4dc7ec9fdf91cea34b35bc4ef6e070 Mon Sep 17 00:00:00 2001 From: Glenn L McGrath Date: Thu, 15 Jan 2004 11:50:19 +0000 Subject: 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 ;-) --- console-tools/deallocvt.c | 38 ++++++++++++++------------------------ 1 file changed, 14 insertions(+), 24 deletions(-) (limited to 'console-tools/deallocvt.c') diff --git a/console-tools/deallocvt.c b/console-tools/deallocvt.c index b89249b87..363ecdf12 100644 --- a/console-tools/deallocvt.c +++ b/console-tools/deallocvt.c @@ -34,33 +34,23 @@ static const int VT_DISALLOCATE = 0x5608; /* free memory associated to vt */ int deallocvt_main(int argc, char *argv[]) { - int fd, num = 0; + /* num = 0 deallocate all unused consoles */ + int 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 = 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(); + } + + if (ioctl( get_console_fd(), VT_DISALLOCATE, num )) { + bb_perror_msg_and_die("VT_DISALLOCATE"); } - return EXIT_FAILURE; + return EXIT_SUCCESS; } -- cgit v1.2.3