aboutsummaryrefslogtreecommitdiff
path: root/console-tools/chvt.c
diff options
context:
space:
mode:
Diffstat (limited to 'console-tools/chvt.c')
-rw-r--r--console-tools/chvt.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/console-tools/chvt.c b/console-tools/chvt.c
index ea96d1360..ea3e7c048 100644
--- a/console-tools/chvt.c
+++ b/console-tools/chvt.c
@@ -9,25 +9,17 @@
9 9
10#include "libbb.h" 10#include "libbb.h"
11 11
12/* From <linux/vt.h> */
13enum {
14 VT_ACTIVATE = 0x5606, /* make vt active */
15 VT_WAITACTIVE = 0x5607 /* wait for vt active */
16};
17
18int chvt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 12int chvt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
19int chvt_main(int argc, char **argv) 13int chvt_main(int argc, char **argv)
20{ 14{
21 int fd, num; 15 int num;
22 16
23 if (argc != 2) { 17 if (argc != 2) {
24 bb_show_usage(); 18 bb_show_usage();
25 } 19 }
26 20
27 fd = get_console_fd();
28 num = xatou_range(argv[1], 1, 63); 21 num = xatou_range(argv[1], 1, 63);
29 /* double cast suppresses "cast to ptr from int of different size" */ 22 /* double cast suppresses "cast to ptr from int of different size" */
30 xioctl(fd, VT_ACTIVATE, (void *)(ptrdiff_t)num); 23 console_make_active(get_console_fd(), num);
31 xioctl(fd, VT_WAITACTIVE, (void *)(ptrdiff_t)num);
32 return EXIT_SUCCESS; 24 return EXIT_SUCCESS;
33} 25}