X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=console-tools%2Fdeallocvt.c;h=b7dcc9e223761fabe256c0706dd867c511e8286a;hb=9c60b290717e3ff1b9a8e09da4abe6f46964aa82;hp=141062edc6e1416f12ede66badaffb4b4cb1b11d;hpb=e49d5ecbbe51718fa925b6890a735e5937cc2aa2;p=oweals%2Fbusybox.git diff --git a/console-tools/deallocvt.c b/console-tools/deallocvt.c index 141062edc..b7dcc9e22 100644 --- a/console-tools/deallocvt.c +++ b/console-tools/deallocvt.c @@ -3,50 +3,41 @@ * disalloc.c - aeb - 940501 - Disallocate virtual terminal(s) * Renamed deallocvt. */ -#include "internal.h" #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; - if ((argc != 2) || (**(argv + 1) == '-')) { - usage - ("deallocvt N\n\nDeallocate unused virtual terminal /dev/ttyN\n"); - } - - 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); - } - } else + 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) - fprintf(stderr, "%s: 0: illegal VT number\n", progname); + error_msg("0: illegal VT number"); 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); - } + error_msg("VT 1 cannot be deallocated"); + else if (ioctl(fd, VT_DISALLOCATE, num)) + perror_msg_and_die("VT_DISALLOCATE"); } - exit(0); + } + + return EXIT_SUCCESS; }