X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=inline;f=console-tools%2Fchvt.c;h=302ffb4f914fa300f8f1f2d0ec9c2bcee9e9219c;hb=d4b719878f5a08986d0a3dc493aad90d4466752e;hp=a32bd3e783f9312ab7848d3ac4786588e1bda834;hpb=e49d5ecbbe51718fa925b6890a735e5937cc2aa2;p=oweals%2Fbusybox.git diff --git a/console-tools/chvt.c b/console-tools/chvt.c index a32bd3e78..302ffb4f9 100644 --- a/console-tools/chvt.c +++ b/console-tools/chvt.c @@ -1,36 +1,24 @@ /* vi: set sw=4 ts=4: */ /* - * chvt.c - aeb - 940227 - Change virtual terminal + * Mini chvt implementation for busybox * - * busyboxed by Erik Andersen + * Copyright (C) 1999-2004 by Erik Andersen + * + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ -#include "internal.h" -#include -#include -#include -#include -#include -#include -extern int getfd(void); +#include "libbb.h" +int chvt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int chvt_main(int argc, char **argv) { - int fd, num; + int num; - if ((argc != 2) || (**(argv + 1) == '-')) { - usage - ("chvt N\n\nChange foreground virtual terminal to /dev/ttyN\n"); - } - fd = get_console_fd("/dev/console"); - num = atoi(argv[1]); - if (ioctl(fd, VT_ACTIVATE, num)) { - perror("VT_ACTIVATE"); - exit(FALSE); + if (argc != 2) { + bb_show_usage(); } - if (ioctl(fd, VT_WAITACTIVE, num)) { - perror("VT_WAITACTIVE"); - exit(FALSE); - } - exit(TRUE); + + num = xatou_range(argv[1], 1, 63); + console_make_active(get_console_fd_or_die(), num); + return EXIT_SUCCESS; }