svn commit: r357716 - head/sbin/fsck_msdosfs
Xin LI
delphij at FreeBSD.org
Mon Feb 10 04:16:42 UTC 2020
Author: delphij
Date: Mon Feb 10 04:16:41 2020
New Revision: 357716
URL: https://svnweb.freebsd.org/changeset/base/357716
Log:
Use humanize_number to format available and bad space sizes.
Reviewed by: mckusick (earlier version)
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D23050
Modified:
head/sbin/fsck_msdosfs/Makefile
head/sbin/fsck_msdosfs/check.c
Modified: head/sbin/fsck_msdosfs/Makefile
==============================================================================
--- head/sbin/fsck_msdosfs/Makefile Mon Feb 10 02:44:29 2020 (r357715)
+++ head/sbin/fsck_msdosfs/Makefile Mon Feb 10 04:16:41 2020 (r357716)
@@ -9,6 +9,7 @@ PROG= fsck_msdosfs
MAN= fsck_msdosfs.8
SRCS= main.c check.c boot.c fat.c dir.c fsutil.c
-CFLAGS+= -I${FSCK}
+CFLAGS+= -I${FSCK} -DHAVE_LIBUTIL_H
+LIBADD= util
.include <bsd.prog.mk>
Modified: head/sbin/fsck_msdosfs/check.c
==============================================================================
--- head/sbin/fsck_msdosfs/check.c Mon Feb 10 02:44:29 2020 (r357715)
+++ head/sbin/fsck_msdosfs/check.c Mon Feb 10 04:16:41 2020 (r357716)
@@ -33,6 +33,9 @@ static const char rcsid[] =
"$FreeBSD$";
#endif /* not lint */
+#ifdef HAVE_LIBUTIL_H
+#include <libutil.h>
+#endif
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
@@ -126,15 +129,38 @@ checkfilesys(const char *fname)
mod |= FSERROR;
}
+#ifdef HAVE_LIBUTIL_H
+ char freestr[7], badstr[7];
+
+ int64_t freebytes = boot.NumFree * boot.ClusterSize;
+ humanize_number(freestr, sizeof(freestr), freebytes, "",
+ HN_AUTOSCALE, HN_DECIMAL | HN_IEC_PREFIXES);
+ if (boot.NumBad) {
+ int64_t badbytes = boot.NumBad * boot.ClusterSize;
+
+ humanize_number(badstr, sizeof(badstr), badbytes, "",
+ HN_AUTOSCALE, HN_B | HN_DECIMAL | HN_IEC_PREFIXES);
+
+ pwarn("%d files, %sB free (%d clusters), %sB bad (%d clusters)\n",
+ boot.NumFiles,
+ freestr, boot.NumFree,
+ badstr, boot.NumBad);
+ } else {
+ pwarn("%d files, %sB free (%d clusters)\n",
+ boot.NumFiles,
+ freestr, boot.NumFree);
+ }
+#else
if (boot.NumBad)
- pwarn("%d files, %d free (%d clusters), %d bad (%d clusters)\n",
+ pwarn("%d files, %d KiB free (%d clusters), %d KiB bad (%d clusters)\n",
boot.NumFiles,
boot.NumFree * boot.ClusterSize / 1024, boot.NumFree,
boot.NumBad * boot.ClusterSize / 1024, boot.NumBad);
else
- pwarn("%d files, %d free (%d clusters)\n",
+ pwarn("%d files, %d KiB free (%d clusters)\n",
boot.NumFiles,
boot.NumFree * boot.ClusterSize / 1024, boot.NumFree);
+#endif
if (mod && (mod & FSERROR) == 0) {
if (mod & FSDIRTY) {
More information about the svn-src-head
mailing list