diff options
author | Eric Andersen | 2000-07-14 18:38:26 +0000 |
---|---|---|
committer | Eric Andersen | 2000-07-14 18:38:26 +0000 |
commit | 17ad45aace3141d1b997208a43979495ead98f7c (patch) | |
tree | 9e853f27599c3d24b7a1800ac5add07387e97667 /du.c | |
parent | df4532bfa390d7986a0544b93a95921d4b473ef2 (diff) | |
download | busybox-17ad45aace3141d1b997208a43979495ead98f7c.zip busybox-17ad45aace3141d1b997208a43979495ead98f7c.tar.gz |
Getopt'rd by Marc Nijdam <marc_nijdam@hp.com>
-Erik
Diffstat (limited to 'du.c')
-rw-r--r-- | du.c | 32 |
1 files changed, 11 insertions, 21 deletions
@@ -137,42 +137,32 @@ static long du(char *filename) int du_main(int argc, char **argv) { int i; - char opt; + char c; /* default behaviour */ print = print_normal; /* parse argv[] */ - for (i = 1; i < argc; i++) { - if (argv[i][0] == '-') { - opt = argv[i][1]; - switch (opt) { + while ((c = getopt(argc, argv, "sl")) != EOF) { + switch (c) { case 's': - print = print_summary; - break; + print = print_summary; + break; case 'l': - count_hardlinks = 1; - break; - case 'h': - case '-': - usage(du_usage); - break; + count_hardlinks = 1; + break; default: - errorMsg("invalid option -- %c\n", opt); - usage(du_usage); + usage(du_usage); } - } else { - break; - } } /* go through remaining args (if any) */ - if (i >= argc) { + if (optind >= argc) { du("."); } else { long sum; - for (; i < argc; i++) { + for (i=optind; i < argc; i++) { sum = du(argv[i]); if (sum && isDirectory(argv[i], FALSE, NULL)) { print_normal(sum, argv[i]); @@ -184,7 +174,7 @@ int du_main(int argc, char **argv) return(0); } -/* $Id: du.c,v 1.21 2000/07/14 01:51:25 kraai Exp $ */ +/* $Id: du.c,v 1.22 2000/07/14 18:38:26 andersen Exp $ */ /* Local Variables: c-file-style: "linux" |