aboutsummaryrefslogtreecommitdiff
path: root/df.c
diff options
context:
space:
mode:
authorerik <erik@69ca8d6d-28ef-0310-b511-8ec308f3f277>2000-02-08 19:58:47 +0000
committererik <erik@69ca8d6d-28ef-0310-b511-8ec308f3f277>2000-02-08 19:58:47 +0000
commita18125005d67c38a8ad7fb454571bb996664ad96 (patch)
treec90bda10731ad9333ce3b404f993354c9fc104b8 /df.c
parent8ef3b44285a8ce5b83bed9cf32ce5f40b30ba72f (diff)
downloadbusybox-w32-a18125005d67c38a8ad7fb454571bb996664ad96.tar.gz
busybox-w32-a18125005d67c38a8ad7fb454571bb996664ad96.tar.bz2
busybox-w32-a18125005d67c38a8ad7fb454571bb996664ad96.zip
Some formatting updates (ran the code through indent)
-Erik git-svn-id: svn://busybox.net/trunk/busybox@357 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'df.c')
-rw-r--r--df.c119
1 files changed, 60 insertions, 59 deletions
diff --git a/df.c b/df.c
index 24c94a246..43d5d26e7 100644
--- a/df.c
+++ b/df.c
@@ -1,3 +1,4 @@
1/* vi: set sw=4 ts=4: */
1/* 2/*
2 * Mini df implementation for busybox 3 * Mini df implementation for busybox
3 * 4 *
@@ -29,81 +30,81 @@
29#include <fstab.h> 30#include <fstab.h>
30 31
31static const char df_usage[] = "df [filesystem ...]\n" 32static const char df_usage[] = "df [filesystem ...]\n"
32 "\n" "\tPrint the filesystem space used and space available.\n";
33 33
34extern const char mtab_file[]; /* Defined in utility.c */ 34 "\n" "\tPrint the filesystem space used and space available.\n";
35
36extern const char mtab_file[]; /* Defined in utility.c */
35 37
36static int df(char *device, const char *mountPoint) 38static int df(char *device, const char *mountPoint)
37{ 39{
38 struct statfs s; 40 struct statfs s;
39 long blocks_used; 41 long blocks_used;
40 long blocks_percent_used; 42 long blocks_percent_used;
41 struct fstab* fstabItem; 43 struct fstab *fstabItem;
42
43 if (statfs(mountPoint, &s) != 0) {
44 perror(mountPoint);
45 return FALSE;
46 }
47 44
48 if (s.f_blocks > 0) { 45 if (statfs(mountPoint, &s) != 0) {
49 blocks_used = s.f_blocks - s.f_bfree; 46 perror(mountPoint);
50 blocks_percent_used = (long) 47 return FALSE;
51 (blocks_used * 100.0 / (blocks_used + s.f_bavail) + 0.5);
52 /* Note that if /etc/fstab is missing, libc can't fix up /dev/root for us */
53 if (strcmp (device, "/dev/root") == 0) {
54 fstabItem = getfsfile ("/");
55 if (fstabItem != NULL)
56 device = fstabItem->fs_spec;
57 } 48 }
58 printf("%-20s %9ld %9ld %9ld %3ld%% %s\n",
59 device,
60 (long) (s.f_blocks * (s.f_bsize / 1024.0)),
61 (long) ((s.f_blocks - s.f_bfree) * (s.f_bsize / 1024.0)),
62 (long) (s.f_bavail * (s.f_bsize / 1024.0)),
63 blocks_percent_used, mountPoint);
64 49
65 } 50 if (s.f_blocks > 0) {
51 blocks_used = s.f_blocks - s.f_bfree;
52 blocks_percent_used = (long)
53 (blocks_used * 100.0 / (blocks_used + s.f_bavail) + 0.5);
54 /* Note that if /etc/fstab is missing, libc can't fix up /dev/root for us */
55 if (strcmp(device, "/dev/root") == 0) {
56 fstabItem = getfsfile("/");
57 if (fstabItem != NULL)
58 device = fstabItem->fs_spec;
59 }
60 printf("%-20s %9ld %9ld %9ld %3ld%% %s\n",
61 device,
62 (long) (s.f_blocks * (s.f_bsize / 1024.0)),
63 (long) ((s.f_blocks - s.f_bfree) * (s.f_bsize / 1024.0)),
64 (long) (s.f_bavail * (s.f_bsize / 1024.0)),
65 blocks_percent_used, mountPoint);
66
67 }
66 68
67 return TRUE; 69 return TRUE;
68} 70}
69 71
70extern int df_main(int argc, char **argv) 72extern int df_main(int argc, char **argv)
71{ 73{
72 printf("%-20s %-14s %s %s %s %s\n", "Filesystem", 74 printf("%-20s %-14s %s %s %s %s\n", "Filesystem",
73 "1k-blocks", "Used", "Available", "Use%", "Mounted on"); 75 "1k-blocks", "Used", "Available", "Use%", "Mounted on");
74 76
75 if (argc > 1) { 77 if (argc > 1) {
76 struct mntent *mountEntry; 78 struct mntent *mountEntry;
77 int status; 79 int status;
78 80
79 while (argc > 1) { 81 while (argc > 1) {
80 if ((mountEntry = findMountPoint(argv[1], mtab_file)) == 82 if ((mountEntry = findMountPoint(argv[1], mtab_file)) == 0) {
81 0) { 83 fprintf(stderr, "%s: can't find mount point.\n", argv[1]);
82 fprintf(stderr, "%s: can't find mount point.\n", argv[1]); 84 exit(FALSE);
83 exit( FALSE); 85 }
84 } 86 status = df(mountEntry->mnt_fsname, mountEntry->mnt_dir);
85 status = df(mountEntry->mnt_fsname, mountEntry->mnt_dir); 87 if (status != 0)
86 if (status != 0) 88 exit(status);
87 exit( status); 89 argc--;
88 argc--; 90 argv++;
89 argv++; 91 }
90 } 92 exit(TRUE);
91 exit( TRUE); 93 } else {
92 } else { 94 FILE *mountTable;
93 FILE *mountTable; 95 struct mntent *mountEntry;
94 struct mntent *mountEntry;
95 96
96 mountTable = setmntent(mtab_file, "r"); 97 mountTable = setmntent(mtab_file, "r");
97 if (mountTable == 0) { 98 if (mountTable == 0) {
98 perror(mtab_file); 99 perror(mtab_file);
99 exit(FALSE); 100 exit(FALSE);
100 } 101 }
101 102
102 while ((mountEntry = getmntent(mountTable))) { 103 while ((mountEntry = getmntent(mountTable))) {
103 df(mountEntry->mnt_fsname, mountEntry->mnt_dir); 104 df(mountEntry->mnt_fsname, mountEntry->mnt_dir);
105 }
106 endmntent(mountTable);
104 } 107 }
105 endmntent(mountTable);
106 }
107 108
108 exit( TRUE); 109 exit(TRUE);
109} 110}