--- trunk/mkinitrd-magellan/busybox/console-tools/deallocvt.c 2009/04/24 18:32:46 815 +++ trunk/mkinitrd-magellan/busybox/console-tools/deallocvt.c 2009/04/24 18:33:46 816 @@ -10,28 +10,24 @@ /* no options, no getopt */ -#include "busybox.h" +#include "libbb.h" /* From */ enum { VT_DISALLOCATE = 0x5608 }; /* free memory associated to vt */ -int deallocvt_main(int argc, char *argv[]) +int deallocvt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; +int deallocvt_main(int argc UNUSED_PARAM, char **argv) { /* num = 0 deallocate all unused consoles */ int num = 0; - switch (argc) { - case 2: - num = xatoul_range(argv[1], 1, 63); - /* Fallthrough */ - case 1: - break; - default: - bb_show_usage(); + if (argv[1]) { + if (argv[2]) + bb_show_usage(); + num = xatou_range(argv[1], 1, 63); } - if (-1 == ioctl(get_console_fd(), VT_DISALLOCATE, num)) { - bb_perror_msg_and_die("VT_DISALLOCATE"); - } + /* double cast suppresses "cast to ptr from int of different size" */ + xioctl(get_console_fd_or_die(), VT_DISALLOCATE, (void *)(ptrdiff_t)num); return EXIT_SUCCESS; }