Author: ed Date: Tue Nov 8 11:36:46 2011 New Revision: 227335 URL: http://svn.freebsd.org/changeset/base/227335
Log: Simplify getopt switch parsing. Only one of these flags can be set. Just add them together and check the value. Also, get rid of the listall variable. The code is already filled with direct *flag-comparisons. Obtained from: Alexander Best (though modified) Modified: head/usr.bin/du/du.c Modified: head/usr.bin/du/du.c ============================================================================== --- head/usr.bin/du/du.c Tue Nov 8 11:08:40 2011 (r227334) +++ head/usr.bin/du/du.c Tue Nov 8 11:36:46 2011 (r227335) @@ -88,7 +88,6 @@ main(int argc, char *argv[]) off_t savednumber, curblocks; off_t threshold, threshold_sign; int ftsoptions; - int listall; int depth; int Hflag, Lflag, Pflag, aflag, sflag, dflag, cflag; int hflag, lflag, ch, notused, rval; @@ -229,17 +228,10 @@ main(int argc, char *argv[]) if (!Aflag && (cblocksize % DEV_BSIZE) != 0) cblocksize = howmany(cblocksize, DEV_BSIZE) * DEV_BSIZE; - listall = 0; - - if (aflag) { - if (sflag || dflag) - usage(); - listall = 1; - } else if (sflag) { - if (dflag) - usage(); + if (aflag + dflag + sflag > 1) + usage(); + if (sflag) depth = 0; - } if (!*argv) { argv = save; @@ -320,7 +312,7 @@ main(int argc, char *argv[]) howmany(p->fts_statp->st_size, cblocksize) : howmany(p->fts_statp->st_blocks, cblocksize); - if (listall || p->fts_level == 0) { + if (aflag || p->fts_level == 0) { if (hflag) { prthumanval(curblocks); (void)printf("\t%s\n", p->fts_path); _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"