Commit Diff


commit - 6efb5c5d37686d21ce93ced9d4a897e1cade3a10
commit + b74c2a4b648047ba32d616f4704f4ff7473269a2
blob - 1694292e4ae12e68fb1f23acdb1c84080517b900
blob + 6786b7c58078cb5d1a224400347d0c688894fede
--- diskinfo.c
+++ diskinfo.c
@@ -35,7 +35,6 @@
 #define GIG(x)  (MEG(x) * 1024LL)
 
 struct statfs *mntbuf;
-int mntidx;
 int mntsize;
 
 static void
@@ -77,6 +76,7 @@ print_partition(const char *devname, const struct disk
 	char sbuf[FMT_SCALED_STRSIZE];
 	int dplen;
 	char *dp;
+	int j;
 
 	if (DL_GETPSIZE(pp)) {
 		printf("\n|-- %s%c\t", devname, DL_PARTNUM2NAME(i));
@@ -90,14 +90,11 @@ print_partition(const char *devname, const struct disk
 		printf("\t%8s", fstypenames[pp->p_fstype]);
 
 		dplen = asprintf(&dp, "/dev/%s%c", devname, DL_PARTNUM2NAME(i));
-		while (mntidx < mntsize && strncmp(mntbuf[mntidx].f_mntfromname, dp, dplen) == 0) {
-			if(fmt_scaled(mntbuf[mntidx].f_blocks * mntbuf[mntidx].f_bsize, sbuf) == -1)
-				err(1, "%s: fmt_scaled()", __func__);
-
-			printf("\t%s",
-			    mntbuf[mntidx].f_mntonname);
-			mntidx++;
-		}
+		
+		for (j = 0; j < mntsize; j++) 
+			if (strncmp(mntbuf[j].f_mntfromname, dp, dplen) == 0)
+				printf("\t%s", mntbuf[j].f_mntonname);
+		free(dp);
 	}
 }
 
@@ -151,7 +148,6 @@ main(int argc, char *argv[])
 
 	if ((mntsize = getmntinfo(&mntbuf, MNT_WAIT)) == 0)
 		err(1, "%s: getmntinfo", __func__);
-	mntidx = 0;
 
 	if (argc == 1 && argv[0] != NULL) {
 		print_device(argv[0], human);
@@ -159,7 +155,7 @@ main(int argc, char *argv[])
 	}
 
 	if (human) {
-		printf("DISK     \t   TOTAL\t  FSTYPE\tMOUNT\n");
+		printf("DISK     \t  TOTAL\t  FSTYPE\tMOUNT\n");
 	} else {
 		printf("DISK     \t            TOTAL\t  FSTYPE\tMOUNT\n");
 	}