find:: get rid of nested function (it's a gcc-ism)
[oweals/busybox.git] / miscutils / mt.c
index c16073c61cbff3c26d173a038fcf715e68f764b9..20afd3a50b2c72eff7cbb0c836bdba06df0ca697 100644 (file)
@@ -1,8 +1,20 @@
 /* vi: set sw=4 ts=4: */
 /*
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
 
+//usage:#define mt_trivial_usage
+//usage:       "[-f device] opcode value"
+//usage:#define mt_full_usage "\n\n"
+//usage:       "Control magnetic tape drive operation\n"
+//usage:       "\n"
+//usage:       "Available Opcodes:\n"
+//usage:       "\n"
+//usage:       "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n"
+//usage:       "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n"
+//usage:       "ras3 reset retension rewind rewoffline seek setblk setdensity\n"
+//usage:       "setpart tell unload unlock weof wset"
+
 #include "libbb.h"
 #include <sys/mtio.h>
 
@@ -81,24 +93,22 @@ static const char opcode_name[] ALIGN1 =
        "weof"            "\0";
 
 int mt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int mt_main(int argc, char **argv)
+int mt_main(int argc UNUSED_PARAM, char **argv)
 {
        const char *file = "/dev/tape";
        struct mtop op;
        struct mtpos position;
        int fd, mode, idx;
 
-       if (argc < 2) {
+       if (!argv[1]) {
                bb_show_usage();
        }
 
        if (strcmp(argv[1], "-f") == 0) {
-               if (argc < 4) {
+               if (!argv[2] || !argv[3])
                        bb_show_usage();
-               }
                file = argv[2];
                argv += 2;
-               argc -= 2;
        }
 
        idx = index_in_strings(opcode_name, argv[1]);
@@ -107,10 +117,10 @@ int mt_main(int argc, char **argv)
                bb_error_msg_and_die("unrecognized opcode %s", argv[1]);
 
        op.mt_op = opcode_value[idx];
-       if (argc >= 3)
-               op.mt_count = xatoi_u(argv[2]);
+       if (argv[2])
+               op.mt_count = xatoi_positive(argv[2]);
        else
-               op.mt_count = 1;                /* One, not zero, right? */
+               op.mt_count = 1;  /* One, not zero, right? */
 
        switch (opcode_value[idx]) {
                case MTWEOF: