/* vi: set sw=4 ts=4: */
-#include "internal.h"
+#include "busybox.h"
#include <stdio.h>
+#include <stdlib.h>
#include <sys/mtio.h>
#include <sys/fcntl.h>
-static const char mt_usage[] = "mt [-f device] opcode value\n\n"
- "Control magnetic tape drive operation\n";
-
struct mt_opcodes {
char *name;
short value;
struct mtop op;
int fd;
- if ((argc != 2 && argc != 3) || **(argv + 1) == '-') {
+ if (argc < 2) {
usage(mt_usage);
}
}
if (code->name == 0) {
- fprintf(stderr, "mt: unrecognized opcode %s.\n", argv[1]);
- exit (FALSE);
+ error_msg("unrecognized opcode %s.", argv[1]);
+ return EXIT_FAILURE;
}
op.mt_op = code->value;
else
op.mt_count = 1; /* One, not zero, right? */
- if ((fd = open(file, O_RDONLY, 0)) < 0) {
- perror(file);
- exit (FALSE);
- }
+ if ((fd = open(file, O_RDONLY, 0)) < 0)
+ perror_msg_and_die("%s", file);
- if (ioctl(fd, MTIOCTOP, &op) != 0) {
- perror(file);
- exit (FALSE);
- }
+ if (ioctl(fd, MTIOCTOP, &op) != 0)
+ perror_msg_and_die("%s", file);
- exit (TRUE);
+ return EXIT_SUCCESS;
}