aboutsummaryrefslogtreecommitdiff
path: root/util-linux/fdformat.c
diff options
context:
space:
mode:
Diffstat (limited to 'util-linux/fdformat.c')
-rw-r--r--util-linux/fdformat.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/util-linux/fdformat.c b/util-linux/fdformat.c
index e9fbeee7b..5e253efa8 100644
--- a/util-linux/fdformat.c
+++ b/util-linux/fdformat.c
@@ -45,13 +45,6 @@ struct format_descr {
45#define FDGETPRM _IOR(2, 0x04, struct floppy_struct) 45#define FDGETPRM _IOR(2, 0x04, struct floppy_struct)
46#define FD_FILL_BYTE 0xF6 /* format fill byte. */ 46#define FD_FILL_BYTE 0xF6 /* format fill byte. */
47 47
48static void xioctl(int fd, int request, void *argp, const char *string)
49{
50 if (ioctl(fd, request, argp) < 0) {
51 bb_perror_msg_and_die(string);
52 }
53}
54
55int fdformat_main(int argc,char **argv); 48int fdformat_main(int argc,char **argv);
56int fdformat_main(int argc,char **argv) 49int fdformat_main(int argc,char **argv)
57{ 50{
@@ -77,7 +70,7 @@ int fdformat_main(int argc,char **argv)
77 fd = xopen(*argv, O_RDWR); 70 fd = xopen(*argv, O_RDWR);
78 71
79 /* original message was: "Could not determine current format type" */ 72 /* original message was: "Could not determine current format type" */
80 xioctl(fd, FDGETPRM, &param, "FDGETPRM"); 73 xioctl(fd, FDGETPRM, &param);
81 74
82 printf("%s-sided, %d tracks, %d sec/track. Total capacity %d kB\n", 75 printf("%s-sided, %d tracks, %d sec/track. Total capacity %d kB\n",
83 (param.head == 2) ? "Double" : "Single", 76 (param.head == 2) ? "Double" : "Single",
@@ -85,21 +78,21 @@ int fdformat_main(int argc,char **argv)
85 78
86 /* FORMAT */ 79 /* FORMAT */
87 printf("Formatting... "); 80 printf("Formatting... ");
88 xioctl(fd, FDFMTBEG, NULL, "FDFMTBEG"); 81 xioctl(fd, FDFMTBEG, NULL);
89 82
90 /* n == track */ 83 /* n == track */
91 for (n = 0; n < param.track; n++) { 84 for (n = 0; n < param.track; n++) {
92 descr.head = 0; 85 descr.head = 0;
93 descr.track = n; 86 descr.track = n;
94 xioctl(fd, FDFMTTRK, &descr, "FDFMTTRK"); 87 xioctl(fd, FDFMTTRK, &descr);
95 printf("%3d\b\b\b", n); 88 printf("%3d\b\b\b", n);
96 if (param.head == 2) { 89 if (param.head == 2) {
97 descr.head = 1; 90 descr.head = 1;
98 xioctl(fd, FDFMTTRK, &descr, "FDFMTTRK"); 91 xioctl(fd, FDFMTTRK, &descr);
99 } 92 }
100 } 93 }
101 94
102 xioctl(fd, FDFMTEND, NULL, "FDFMTEND"); 95 xioctl(fd, FDFMTEND, NULL);
103 printf("done\n"); 96 printf("done\n");
104 97
105 /* VERIFY */ 98 /* VERIFY */