X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=console-tools%2Fdeallocvt.c;h=b7dcc9e223761fabe256c0706dd867c511e8286a;hb=9c60b290717e3ff1b9a8e09da4abe6f46964aa82;hp=a8feeb53c90d1ac8e4b4cd336c3345d50393687c;hpb=0460ff2e5d443b485c2f6447c8c2ece1b3bec9c3;p=oweals%2Fbusybox.git diff --git a/console-tools/deallocvt.c b/console-tools/deallocvt.c index a8feeb53c..b7dcc9e22 100644 --- a/console-tools/deallocvt.c +++ b/console-tools/deallocvt.c @@ -1,47 +1,43 @@ +/* vi: set sw=4 ts=4: */ /* * disalloc.c - aeb - 940501 - Disallocate virtual terminal(s) * Renamed deallocvt. */ #include +#include #include #include #include -#include -#include +#include "busybox.h" -extern int getfd(void); -char *progname; +/* From */ +static const int VT_DISALLOCATE = 0x5608; /* free memory associated to vt */ -int -deallocvt_main(int argc, char *argv[]) { - int fd, num, i; +int deallocvt_main(int argc, char *argv[]) +{ + int fd, num, i; - if (argc < 1) /* unlikely */ - exit(1); - progname = argv[0]; + //if ((argc > 2) || ((argv == 2) && (**(argv + 1) == '-'))) + if (argc > 2) + show_usage(); - fd = get_console_fd("/dev/console"); + fd = get_console_fd(); - if (argc == 1) { - /* deallocate all unused consoles */ - if (ioctl(fd,VT_DISALLOCATE,0)) { - perror("VT_DISALLOCATE"); - exit(1); + if (argc == 1) { + /* deallocate all unused consoles */ + if (ioctl(fd, VT_DISALLOCATE, 0)) + perror_msg_and_die("VT_DISALLOCATE"); + } else { + for (i = 1; i < argc; i++) { + num = atoi(argv[i]); + if (num == 0) + error_msg("0: illegal VT number"); + else if (num == 1) + error_msg("VT 1 cannot be deallocated"); + else if (ioctl(fd, VT_DISALLOCATE, num)) + perror_msg_and_die("VT_DISALLOCATE"); + } } - } else - for (i = 1; i < argc; i++) { - num = atoi(argv[i]); - if (num == 0) - fprintf(stderr, "%s: 0: illegal VT number\n", progname); - else if (num == 1) - fprintf(stderr, "%s: VT 1 cannot be deallocated\n", progname); - else - if (ioctl(fd,VT_DISALLOCATE,num)) { - perror("VT_DISALLOCATE"); - fprintf(stderr, "%s: could not deallocate console %d\n", - progname, num); - exit(1); - } - } - exit(0); + + return EXIT_SUCCESS; }