diff options
author | markw <markw@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-03-07 17:42:07 +0000 |
---|---|---|
committer | markw <markw@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-03-07 17:42:07 +0000 |
commit | 5246b7f84e7444385badb568d791d3fdda44d8dd (patch) | |
tree | ba3e50459f4b4ae476ce19e797c68c5e6de055e0 /df.c | |
parent | 02826349291e659213f4d2e284edd4989626d5e5 (diff) | |
download | busybox-w32-5246b7f84e7444385badb568d791d3fdda44d8dd.tar.gz busybox-w32-5246b7f84e7444385badb568d791d3fdda44d8dd.tar.bz2 busybox-w32-5246b7f84e7444385badb568d791d3fdda44d8dd.zip |
Some minor cleanups to df.c. Also, with Erik's blessing, changed name of
'format' function to 'make_human_readable_str'.
git-svn-id: svn://busybox.net/trunk/busybox@2001 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'df.c')
-rw-r--r-- | df.c | 69 |
1 files changed, 35 insertions, 34 deletions
@@ -31,10 +31,10 @@ | |||
31 | 31 | ||
32 | extern const char mtab_file[]; /* Defined in utility.c */ | 32 | extern const char mtab_file[]; /* Defined in utility.c */ |
33 | #ifdef BB_FEATURE_HUMAN_READABLE | 33 | #ifdef BB_FEATURE_HUMAN_READABLE |
34 | static unsigned long disp_hr = KILOBYTE; | 34 | static unsigned long df_disp_hr = KILOBYTE; |
35 | #endif | 35 | #endif |
36 | 36 | ||
37 | static int df(char *device, const char *mountPoint) | 37 | static int do_df(char *device, const char *mount_point) |
38 | { | 38 | { |
39 | struct statfs s; | 39 | struct statfs s; |
40 | long blocks_used; | 40 | long blocks_used; |
@@ -43,8 +43,8 @@ static int df(char *device, const char *mountPoint) | |||
43 | long base; | 43 | long base; |
44 | #endif | 44 | #endif |
45 | 45 | ||
46 | if (statfs(mountPoint, &s) != 0) { | 46 | if (statfs(mount_point, &s) != 0) { |
47 | perror_msg("%s", mountPoint); | 47 | perror_msg("%s", mount_point); |
48 | return FALSE; | 48 | return FALSE; |
49 | } | 49 | } |
50 | 50 | ||
@@ -61,8 +61,8 @@ static int df(char *device, const char *mountPoint) | |||
61 | * or leaves device alone if it can't find it */ | 61 | * or leaves device alone if it can't find it */ |
62 | find_real_root_device_name( device); | 62 | find_real_root_device_name( device); |
63 | } | 63 | } |
64 | #ifdef BB_FEATURE_HUMAN_READABLE | 64 | #ifdef BB_FEATURE_HUMAN_READABLE |
65 | switch (disp_hr) { | 65 | switch (df_disp_hr) { |
66 | case MEGABYTE: | 66 | case MEGABYTE: |
67 | base = KILOBYTE; | 67 | base = KILOBYTE; |
68 | break; | 68 | break; |
@@ -73,19 +73,19 @@ static int df(char *device, const char *mountPoint) | |||
73 | base = 0; | 73 | base = 0; |
74 | } | 74 | } |
75 | printf("%-20s %9s ", device, | 75 | printf("%-20s %9s ", device, |
76 | format(s.f_blocks * (s.f_bsize/KILOBYTE), base)); | 76 | make_human_readable_str(s.f_blocks * (s.f_bsize/KILOBYTE), base)); |
77 | printf("%9s ", | 77 | printf("%9s ", |
78 | format((s.f_blocks - s.f_bfree) * (s.f_bsize/KILOBYTE), base)); | 78 | make_human_readable_str((s.f_blocks - s.f_bfree) * (s.f_bsize/KILOBYTE), base)); |
79 | printf("%9s %3ld%% %s\n", | 79 | printf("%9s %3ld%% %s\n", |
80 | format(s.f_bavail * (s.f_bsize/KILOBYTE), base), | 80 | make_human_readable_str(s.f_bavail * (s.f_bsize/KILOBYTE), base), |
81 | blocks_percent_used, mountPoint); | 81 | blocks_percent_used, mount_point); |
82 | #else | 82 | #else |
83 | printf("%-20s %9ld %9ld %9ld %3ld%% %s\n", | 83 | printf("%-20s %9ld %9ld %9ld %3ld%% %s\n", |
84 | device, | 84 | device, |
85 | (long) (s.f_blocks * (s.f_bsize / KILOBYTE)), | 85 | (long) (s.f_blocks * (s.f_bsize / KILOBYTE)), |
86 | (long) ((s.f_blocks - s.f_bfree) * (s.f_bsize / KILOBYTE)), | 86 | (long) ((s.f_blocks - s.f_bfree) * (s.f_bsize / KILOBYTE)), |
87 | (long) (s.f_bavail * (s.f_bsize / KILOBYTE)), | 87 | (long) (s.f_bavail * (s.f_bsize / KILOBYTE)), |
88 | blocks_percent_used, mountPoint); | 88 | blocks_percent_used, mount_point); |
89 | #endif | 89 | #endif |
90 | } | 90 | } |
91 | 91 | ||
@@ -97,60 +97,61 @@ extern int df_main(int argc, char **argv) | |||
97 | int status = EXIT_SUCCESS; | 97 | int status = EXIT_SUCCESS; |
98 | int opt = 0; | 98 | int opt = 0; |
99 | int i = 0; | 99 | int i = 0; |
100 | char disp_units_hdr[80] = "1k-blocks"; /* default display is kilobytes */ | ||
100 | 101 | ||
101 | while ((opt = getopt(argc, argv, | 102 | while ((opt = getopt(argc, argv, "k" |
102 | #ifdef BB_FEATURE_HUMAN_READABLE | 103 | #ifdef BB_FEATURE_HUMAN_READABLE |
103 | "hm" | 104 | "hm" |
104 | #endif | 105 | #endif |
105 | "k" | ||
106 | )) > 0) | 106 | )) > 0) |
107 | { | 107 | { |
108 | switch (opt) { | 108 | switch (opt) { |
109 | #ifdef BB_FEATURE_HUMAN_READABLE | 109 | #ifdef BB_FEATURE_HUMAN_READABLE |
110 | case 'h': disp_hr = 0; break; | 110 | case 'h': |
111 | case 'm': disp_hr = MEGABYTE; break; | 111 | df_disp_hr = 0; |
112 | strcpy(disp_units_hdr, " Size"); | ||
113 | break; | ||
114 | case 'm': | ||
115 | df_disp_hr = MEGABYTE; | ||
116 | strcpy(disp_units_hdr, "1M-blocks"); | ||
117 | break; | ||
112 | #endif | 118 | #endif |
113 | case 'k': break; | 119 | case 'k': |
120 | /* default display is kilobytes */ | ||
121 | break; | ||
114 | default: | 122 | default: |
115 | show_usage(); | 123 | show_usage(); |
116 | } | 124 | } |
117 | } | 125 | } |
118 | 126 | ||
119 | printf("%-20s %-14s %s %s %s %s\n", "Filesystem", | 127 | printf("%-20s %-14s %s %s %s %s\n", "Filesystem", disp_units_hdr, |
120 | #ifdef BB_FEATURE_HUMAN_READABLE | ||
121 | (KILOBYTE == disp_hr) ? "1k-blocks" : | ||
122 | (MEGABYTE == disp_hr) ? "1M-blocks" : " Size", | ||
123 | #else | ||
124 | "1k-blocks", | ||
125 | #endif | ||
126 | "Used", "Available", "Use%", "Mounted on"); | 128 | "Used", "Available", "Use%", "Mounted on"); |
127 | 129 | ||
128 | |||
129 | if(optind < argc) { | 130 | if(optind < argc) { |
130 | struct mntent *mountEntry; | 131 | struct mntent *mount_entry; |
131 | for(i = optind; i < argc; i++) | 132 | for(i = optind; i < argc; i++) |
132 | { | 133 | { |
133 | if ((mountEntry = find_mount_point(argv[i], mtab_file)) == 0) { | 134 | if ((mount_entry = find_mount_point(argv[i], mtab_file)) == 0) { |
134 | error_msg("%s: can't find mount point.", argv[i]); | 135 | error_msg("%s: can't find mount point.", argv[i]); |
135 | status = EXIT_FAILURE; | 136 | status = EXIT_FAILURE; |
136 | } else if (!df(mountEntry->mnt_fsname, mountEntry->mnt_dir)) | 137 | } else if (!do_df(mount_entry->mnt_fsname, mount_entry->mnt_dir)) |
137 | status = EXIT_FAILURE; | 138 | status = EXIT_FAILURE; |
138 | } | 139 | } |
139 | } else { | 140 | } else { |
140 | FILE *mountTable; | 141 | FILE *mount_table; |
141 | struct mntent *mountEntry; | 142 | struct mntent *mount_entry; |
142 | 143 | ||
143 | mountTable = setmntent(mtab_file, "r"); | 144 | mount_table = setmntent(mtab_file, "r"); |
144 | if (mountTable == 0) { | 145 | if (mount_table == 0) { |
145 | perror_msg("%s", mtab_file); | 146 | perror_msg("%s", mtab_file); |
146 | return EXIT_FAILURE; | 147 | return EXIT_FAILURE; |
147 | } | 148 | } |
148 | 149 | ||
149 | while ((mountEntry = getmntent(mountTable))) { | 150 | while ((mount_entry = getmntent(mount_table))) { |
150 | if (!df(mountEntry->mnt_fsname, mountEntry->mnt_dir)) | 151 | if (!do_df(mount_entry->mnt_fsname, mount_entry->mnt_dir)) |
151 | status = EXIT_FAILURE; | 152 | status = EXIT_FAILURE; |
152 | } | 153 | } |
153 | endmntent(mountTable); | 154 | endmntent(mount_table); |
154 | } | 155 | } |
155 | 156 | ||
156 | return status; | 157 | return status; |