Patch by Tito, reduce size of deallocvt, also make the usage message
authorGlenn L McGrath <bug1@ihug.co.nz>
Thu, 15 Jan 2004 11:50:19 +0000 (11:50 -0000)
committerGlenn L McGrath <bug1@ihug.co.nz>
Thu, 15 Jan 2004 11:50:19 +0000 (11:50 -0000)
clearer (from N to [N]) and indirectly (through bb_xgetlarg) adds support
for  -h ;-)

console-tools/deallocvt.c
include/usage.h

index b89249b..363ecdf 100644 (file)
@@ -34,33 +34,23 @@ static const int VT_DISALLOCATE = 0x5608;  /* free memory associated to vt */
 
 int deallocvt_main(int argc, char *argv[])
 {
-       int fd, num = 0;
+       /* num = 0 deallocate all unused consoles */
+       int num = 0;
 
-       if (argc > 2) {
-               bb_show_usage();
-       }
-
-       fd = get_console_fd();
-       
-       /*  num=0  deallocate all unused consoles */
-       if (argc == 1) {
-               goto disallocate_all;
-       }
-
-       num = bb_xgetlarg(argv[1], 10, 0, INT_MAX);
-       switch (num) {
-               case 0:
-                       bb_error_msg("0: illegal VT number");
-                       break;
+       switch(argc)
+       {
+               case 2:
+                       if((num = bb_xgetlarg(argv[1], 10, 0, INT_MAX)) == 0)
+                               bb_error_msg_and_die("0: illegal VT number");
+               /* Falltrough */
                case 1:
-                       bb_error_msg("VT 1 cannot be deallocated");
                        break;
                default:
-disallocate_all:
-                       if (ioctl(fd, VT_DISALLOCATE, num)) {
-                               bb_perror_msg_and_die("VT_DISALLOCATE");
-                       }
-                       return EXIT_SUCCESS;
+                       bb_show_usage();
+       }
+
+       if (ioctl( get_console_fd(), VT_DISALLOCATE, num )) {
+               bb_perror_msg_and_die("VT_DISALLOCATE");
        }
-       return EXIT_FAILURE;
+       return EXIT_SUCCESS;
 }
index b1bc010..f4897e4 100644 (file)
        "4+0 records out\n"
 
 #define deallocvt_trivial_usage \
-       "N"
+       "[N]"
 #define deallocvt_full_usage \
         "Deallocate unused virtual terminal /dev/ttyN"
 
 #define dpkg_deb_example_usage \
        "$ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp\n"
 
+#define dpkg_divert_trivial_usage \
+       "blah"
+#define dpkg_divert_full_usage \
+       "blah blah"
+
 #ifdef CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K
 #define USAGE_DU_DEFALT_BLOCKSIZE_1k(a) a
 #define USAGE_NOT_DU_DEFALT_BLOCKSIZE_1k(a)