Fix for dpkg-deb, courtesy of Larry Doolittle.
[oweals/busybox.git] / chvt.c
diff --git a/chvt.c b/chvt.c
index bf1ed609bf005bce75769d1cf8e2c364fc01863a..c715e67ded859d60783983cc2ce96c85ab6ab687 100644 (file)
--- a/chvt.c
+++ b/chvt.c
@@ -4,38 +4,30 @@
  *
  * busyboxed by Erik Andersen
  */
-#include "internal.h"
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <linux/vt.h>
+#include "busybox.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <fcntl.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
 
-extern int getfd(void);
+/* From <linux/vt.h> */
+static const int VT_ACTIVATE = 0x5606;  /* make vt active */
+static const int VT_WAITACTIVE = 0x5607;  /* wait for vt active */
 
 int chvt_main(int argc, char **argv)
 {
        int fd, num;
 
-       if ((argc != 2) || (**(argv + 1) == '-')) {
-               usage ("chvt N\n"
-#ifndef BB_FEATURE_TRIVIAL_HELP
-                               "\nChanges the foreground virtual terminal to /dev/ttyN\n"
-#endif
-                               );
-       }
+       if ((argc != 2) || (**(argv + 1) == '-'))
+               usage (chvt_usage);
        fd = get_console_fd("/dev/console");
        num = atoi(argv[1]);
-       if (ioctl(fd, VT_ACTIVATE, num)) {
-               perror("VT_ACTIVATE");
-               exit(FALSE);
-       }
-       if (ioctl(fd, VT_WAITACTIVE, num)) {
-               perror("VT_WAITACTIVE");
-               exit(FALSE);
-       }
-       exit(TRUE);
+       if (ioctl(fd, VT_ACTIVATE, num))
+               perror_msg_and_die("VT_ACTIVATE");
+       if (ioctl(fd, VT_WAITACTIVE, num))
+               perror_msg_and_die("VT_WAITACTIVE");
+       return EXIT_SUCCESS;
 }