Page MenuHomeFreeBSD

D54265.diff
No OneTemporary

D54265.diff

diff --git a/bin/df/df.c b/bin/df/df.c
--- a/bin/df/df.c
+++ b/bin/df/df.c
@@ -81,7 +81,7 @@
static void update_maxwidths(struct maxwidths *, const struct statfs *);
static void usage(void);
-static bool aflag, cflag, iflag, kflag, lflag, nflag, Tflag;
+static bool aflag, cflag, iflag, kflag, lflag, nflag, Pflag, Tflag;
static int hflag;
static int thousands;
static int skipvfs_l, skipvfs_t;
@@ -123,6 +123,7 @@
case 'b':
/* FALLTHROUGH */
case 'P':
+ Pflag = true;
/*
* POSIX specifically discusses the behavior of
* both -k and -P. It states that the blocksize should
@@ -460,7 +461,7 @@
static int headerlen, timesthrough = 0;
static const char *header;
int64_t used, availblks, inodes;
- const char *format;
+ const char *availheader, *format;
if (++timesthrough == 1) {
mwp->mntfrom = MAX(mwp->mntfrom, (int)strlen("Filesystem"));
@@ -481,14 +482,15 @@
mwp->total = MAX(mwp->total, headerlen);
}
mwp->used = MAX(mwp->used, (int)strlen("Used"));
- mwp->avail = MAX(mwp->avail, (int)strlen("Avail"));
+ availheader = Pflag ? "Available" : "Avail";
+ mwp->avail = MAX(mwp->avail, (int)strlen(availheader));
xo_emit("{T:/%-*s}", mwp->mntfrom, "Filesystem");
if (Tflag)
xo_emit(" {T:/%-*s}", mwp->fstype, "Type");
xo_emit(" {T:/%*s} {T:/%*s} {T:/%*s} {T:Capacity}",
mwp->total, header,
- mwp->used, "Used", mwp->avail, "Avail");
+ mwp->used, "Used", mwp->avail, availheader);
if (iflag) {
mwp->iused = MAX(hflag ? 0 : mwp->iused,
(int)strlen(" iused"));
diff --git a/bin/df/tests/Makefile b/bin/df/tests/Makefile
--- a/bin/df/tests/Makefile
+++ b/bin/df/tests/Makefile
@@ -1,6 +1,7 @@
PACKAGE= tests
-ATF_TESTS_SH= t_df
+ATF_TESTS_SH= df_test
+ATF_TESTS_SH+= t_df
PROGS+= h_df
BINDIR.h_df= ${TESTSDIR}
diff --git a/bin/df/tests/df_test.sh b/bin/df/tests/df_test.sh
new file mode 100644
--- /dev/null
+++ b/bin/df/tests/df_test.sh
@@ -0,0 +1,41 @@
+#
+# Copyright (c) 2026 Jose Luis Duran <jlduran@FreeBSD.org>
+#
+# SPDX-License-Identifier: BSD-2-Clause
+#
+
+atf_test_case Pflag
+Pflag_head()
+{
+ atf_set "descr" "Tests the output of df when using the -P flag"
+}
+Pflag_body()
+{
+ cat >expout <<EOF
+Filesystem 512-blocks Used Available Capacity Mounted on
+filer:/ 2405433344 270336 2405163008 1% /filer
+EOF
+ atf_check -s exit:0 -o file:expout -e empty \
+ -x "$(atf_get_srcdir)/h_df -P | head -2"
+}
+
+atf_test_case kPflags
+kPflags_head()
+{
+ atf_set "descr" "Tests the output of df when using the -k and -P flags"
+}
+kPflags_body()
+{
+ cat >expout <<EOF
+Filesystem 1024-blocks Used Available Capacity Mounted on
+filer:/ 1202716672 135168 1202581504 1% /filer
+EOF
+ atf_check -s exit:0 -o file:expout -e empty \
+ -x "$(atf_get_srcdir)/h_df -k -P | head -2"
+}
+
+atf_init_test_cases()
+{
+ atf_add_test_case Pflag
+ atf_add_test_case kPflags
+}

File Metadata

Mime Type
text/plain
Expires
Sun, Jan 25, 4:44 AM (18 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27925545
Default Alt Text
D54265.diff (2 KB)

Event Timeline