mirror of
https://git.freebsd.org/src.git
synced 2026-01-11 19:57:22 +00:00
df: Fix -k flag consistency with other BLOCKSIZE flags
This patch resolves inconsistent behavior between the -k option and other related flags, including -P. Previously, using -k resulted in output displayed in 1024-byte blocks, which did not align with the behavior of similar options such as -m and -g, where output is shown in 1M-blocks and 1G-blocks respectively. The updated implementation ensures that -k now correctly displays sizes in 1K-blocks. In addition, the patch incorporates the POSIX requirement that when both -k -P are specified, the block size must be explicitly forced to 1024-blocks. Together, these changes make the behavior of -k consistent, predictable, and compliant with the standard. Signed-off-by: Ankush Mondal <mondalankush9851@gmail.com> Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1906
This commit is contained in:
parent
2727bdebb3
commit
5395471516
1 changed files with 5 additions and 4 deletions
|
|
@ -128,11 +128,12 @@ main(int argc, char *argv[])
|
|||
/*
|
||||
* POSIX specifically discusses the behavior of
|
||||
* both -k and -P. It states that the blocksize should
|
||||
* be set to 1024. Thus, if this occurs, simply break
|
||||
* rather than clobbering the old blocksize.
|
||||
* be set to 1024.
|
||||
*/
|
||||
if (kflag)
|
||||
if (kflag) {
|
||||
setenv("BLOCKSIZE", "1024", 1);
|
||||
break;
|
||||
}
|
||||
setenv("BLOCKSIZE", "512", 1);
|
||||
hflag = 0;
|
||||
break;
|
||||
|
|
@ -154,7 +155,7 @@ main(int argc, char *argv[])
|
|||
break;
|
||||
case 'k':
|
||||
kflag++;
|
||||
setenv("BLOCKSIZE", "1024", 1);
|
||||
setenv("BLOCKSIZE", "1k", 1);
|
||||
hflag = 0;
|
||||
break;
|
||||
case 'l':
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue