From add09fd558c8a336554fbf8b381ab0f8e180382a Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 14 Jul 2000 18:39:08 +0000 Subject: Getopt'ed by Marc Nijdam -Erik --- util-linux/dmesg.c | 56 ++++++++++++++++++++---------------------------------- 1 file changed, 21 insertions(+), 35 deletions(-) (limited to 'util-linux/dmesg.c') diff --git a/util-linux/dmesg.c b/util-linux/dmesg.c index df2bce713..961e532b0 100644 --- a/util-linux/dmesg.c +++ b/util-linux/dmesg.c @@ -44,50 +44,36 @@ static const char dmesg_usage[] = "dmesg [-c] [-n LEVEL] [-s SIZE]\n" int dmesg_main(int argc, char **argv) { - char *buf; + char *buf, c; int bufsize = 8196; int i; int n; int level = 0; int lastc; int cmd = 3; - int stopDoingThat; - argc--; - argv++; - - /* Parse any options */ - while (argc && **argv == '-') { - stopDoingThat = FALSE; - while (stopDoingThat == FALSE && *++(*argv)) { - switch (**argv) { - case 'c': - cmd = 4; - break; - case 'n': - cmd = 8; - if (--argc == 0) - goto end; - level = atoi(*(++argv)); - if (--argc > 0) - ++argv; - stopDoingThat = TRUE; - break; - case 's': - if (--argc == 0) - goto end; - bufsize = atoi(*(++argv)); - if (--argc > 0) - ++argv; - stopDoingThat = TRUE; - break; - default: - goto end; - } + while ((c = getopt(argc, argv, "cn:s:")) != EOF) { + switch (c) { + case 'c': + cmd = 4; + break; + case 'n': + cmd = 8; + if (optarg == NULL) + usage(dmesg_usage); + level = atoi(optarg); + break; + case 's': + if (optarg == NULL) + usage(dmesg_usage); + bufsize = atoi(optarg); + break; + default: + usage(dmesg_usage); } - } + } - if (argc > 1) { + if (optind < argc) { goto end; } -- cgit v1.2.3