Fix handling of permission addition and removal (e.g., o-r).
[oweals/busybox.git] / console-tools / deallocvt.c
index ebdce7b24925bb7c5276ffa8ec23e8fff2973afd..15cd0c9b9a76b3087f795887f0f869485b2a6b6e 100644 (file)
@@ -3,15 +3,15 @@
  * disalloc.c - aeb - 940501 - Disallocate virtual terminal(s)
  * Renamed deallocvt.
  */
-#include "busybox.h"
 #include <stdlib.h>
 #include <stdio.h>
 #include <fcntl.h>
 #include <sys/types.h>
 #include <sys/ioctl.h>
+#include "busybox.h"
 
 /* From <linux/vt.h> */
-#define VT_DISALLOCATE  0x5608  /* free memory associated to vt */
+static const int VT_DISALLOCATE = 0x5608;  /* free memory associated to vt */
 
 int deallocvt_main(int argc, char *argv[])
 {
@@ -19,30 +19,25 @@ int deallocvt_main(int argc, char *argv[])
 
        //if ((argc > 2) || ((argv == 2) && (**(argv + 1) == '-')))
        if (argc > 2)
-               usage(deallocvt_usage);
+               show_usage();
 
        fd = get_console_fd("/dev/console");
 
        if (argc == 1) {
-printf("erik: A\n");
                /* deallocate all unused consoles */
-               if (ioctl(fd, VT_DISALLOCATE, 0)) {
-                       perror("VT_DISALLOCATE");
-                       return EXIT_FAILURE;
-               }
-       } else
-printf("erik: B\n");
+               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\n");
+                               error_msg("0: illegal VT number");
                        else if (num == 1)
-                               error_msg("VT 1 cannot be deallocated\n");
-                       else if (ioctl(fd, VT_DISALLOCATE, num)) {
-                               perror("VT_DISALLOCATE");
-                               error_msg_and_die("could not deallocate console %d\n", num);
-                       }
+                               error_msg("VT 1 cannot be deallocated");
+                       else if (ioctl(fd, VT_DISALLOCATE, num))
+                               perror_msg_and_die("VT_DISALLOCATE");
                }
-printf("erik: C\n");
+       }
+
        return EXIT_SUCCESS;
 }