From 679aa902928d20d002ff66fbba075b6fcae551c4 Mon Sep 17 00:00:00 2001 From: dg Date: Fri, 12 Aug 1994 07:26:52 +0000 Subject: Implemented the -k flag more properly...don't destroy the user's setting of the BLOCKSIZE environment variable. --- bin/df/df.c | 13 +++++++++++-- usr.bin/du/du.c | 13 ++++++++++--- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/bin/df/df.c b/bin/df/df.c index 02e6ca9..24a5d26 100644 --- a/bin/df/df.c +++ b/bin/df/df.c @@ -107,7 +107,7 @@ void prtstat __P((struct statfs *, int)); void ufs_df __P((char *, int)); void usage __P((void)); -int iflag, nflag, tflag; +int iflag, nflag, tflag, kflag; struct ufs_args mdev; int @@ -121,13 +121,15 @@ main(argc, argv) int ch, err, i, maxwidth, width; char *mntpt; + iflag = nflag = tflag = kflag = 0; + while ((ch = getopt(argc, argv, "iknt:")) != EOF) switch (ch) { case 'i': iflag = 1; break; case 'k': - putenv("BLOCKSIZE=1024"); + kflag = 1; break; case 'n': nflag = 1; @@ -305,11 +307,18 @@ prtstat(sfsp, maxwidth) static int headerlen, timesthrough; static char *header; long used, availblks, inodes; + char *oldbsize = NULL; if (maxwidth < 11) maxwidth = 11; if (++timesthrough == 1) { + if (kflag) { + oldbsize = getenv("BLOCKSIZE"); + putenv("BLOCKSIZE=1k"); + } header = getbsize(&headerlen, &blocksize); + if (oldbsize) + putenv(oldbsize); (void)printf("%-*.*s %s Used Avail Capacity", maxwidth, maxwidth, "Filesystem", header); if (iflag) diff --git a/usr.bin/du/du.c b/usr.bin/du/du.c index 49b5f9b..2cae7e8 100644 --- a/usr.bin/du/du.c +++ b/usr.bin/du/du.c @@ -66,12 +66,13 @@ main(argc, argv) FTS *fts; FTSENT *p; long blocksize; + char *oldbsize = NULL; int ftsoptions, listdirs, listfiles; - int Hflag, Lflag, Pflag, aflag, ch, notused, rval, sflag; + int Hflag, Lflag, Pflag, aflag, ch, notused, rval, sflag, kflag; char **save; save = argv; - Hflag = Lflag = Pflag = aflag = sflag = 0; + Hflag = Lflag = Pflag = aflag = sflag = kflag = 0; ftsoptions = FTS_PHYSICAL; while ((ch = getopt(argc, argv, "HLPaksx")) != EOF) switch (ch) { @@ -91,7 +92,7 @@ main(argc, argv) aflag = 1; break; case 'k': - putenv("BLOCKSIZE=1024"); + kflag = 1; break; case 's': sflag = 1; @@ -142,7 +143,13 @@ main(argc, argv) argv[1] = NULL; } + if (kflag) { + oldbsize = getenv("BLOCKSIZE"); + putenv("BLOCKSIZE=1k"); + } (void)getbsize(¬used, &blocksize); + if (oldbsize) + putenv(oldbsize); blocksize /= 512; if ((fts = fts_open(argv, ftsoptions, NULL)) == NULL) -- cgit v1.1