- for (i = 0; i < st.ncyl * st.ntrak; i++) {
- read(fd, buffer, chunk);
- if ((i % (st.ntrak*5)) == 0) {
- int x = i / st.ntrak;
-
- if (!hc)
- printf("%d\r", x);
- else {
- printf(".");
- if (x && (x % 125) == 0)
- printf(". %d\n", x);
- }
- }
+ lastsector = st.ncyl * st.nspc;
+ for (sector = 0; sector < lastsector; sector += st.nsect) {
+ if (sector && (sector % (st.nspc * 10)) == 0)
+ printf("cylinder %d\n", sector/st.nspc);
+ read(fd, bp, tracksize);
+ }
+ goto again;
+}
+
+/*
+ * Prompt and verify a device name from the user.
+ */
+getdevice()
+{
+ register char *cp;
+ register struct devsw *dp;
+ int fd;
+
+top:
+ cp = prompt("Device to read? ");
+ if ((fd = open(cp, 2)) < 0) {
+ printf("Known devices are: ");
+ for (dp = devsw; dp->dv_name; dp++)
+ printf("%s ",dp->dv_name);
+ printf("\n");
+ goto top;