char *date_str = NULL;
char *date_fmt = NULL;
char *t_buff;
- int i;
+ char c;
int set_time = 0;
int rfc822 = 0;
int utc = 0;
struct tm tm_time;
/* Interpret command line args */
- i = --argc;
- argv++;
- while (i > 0 && **argv) {
- if (**argv == '-') {
- while (i > 0 && *++(*argv))
- switch (**argv) {
- case 'R':
- rfc822 = 1;
- break;
- case 's':
- set_time = 1;
- if (date_str != NULL)
- usage(date_usage);
- date_str = *argv;
- break;
- case 'u':
- utc = 1;
- if (putenv("TZ=UTC0") != 0)
- fatalError(memory_exhausted);
- break;
- case 'd':
- use_arg = 1;
- if (date_str != NULL)
- usage(date_usage);
- date_str = *argv;
- break;
- case '-':
- usage(date_usage);
- }
- } else {
- if ((date_fmt == NULL) && (**argv == '+'))
- date_fmt = *argv + 1; /* Skip over the '+' */
- else if (date_str == NULL) {
- set_time = 1;
- date_str = *argv;
- } else {
+ while ((c = getopt(argc, argv, "Rs:ud:")) != EOF) {
+ switch (c) {
+ case 'R':
+ rfc822 = 1;
+ break;
+ case 's':
+ set_time = 1;
+ if ((date_str != NULL) || ((date_str = optarg) == NULL))
usage(date_usage);
- }
+ break;
+ case 'u':
+ utc = 1;
+ if (putenv("TZ=UTC0") != 0)
+ fatalError(memory_exhausted);
+ break;
+ case 'd':
+ use_arg = 1;
+ if ((date_str != NULL) || ((date_str = optarg) == NULL))
+ usage(date_usage);
+ break;
+ default:
+ usage(date_usage);
}
- i--;
- argv++;
}
+ if ((date_fmt == NULL) && (optind < argc) && (argv[optind][0] == '+'))
+ date_fmt = &argv[optind][1]; /* Skip over the '+' */
+ else if (date_str == NULL) {
+ set_time = 1;
+ date_str = argv[optind];
+ } else {
+ usage(date_usage);
+ }
/* Now we have parsed all the information except the date format
which depends on whether the clock is being set or read */
int nflag = 0;
int eflag = 0;
- ap = argv;
- if (argc)
- ap++;
- while ((p = *ap) != NULL && *p == '-') {
- if (strcmp(p, "-n")==0) {
+
+ while ((c = getopt(argc, argv, "neE")) != EOF) {
+ switch (c) {
+ case 'n':
nflag = 1;
- } else if (strcmp(p, "-e")==0) {
+ break;
+ case 'e':
eflag = 1;
- } else if (strcmp(p, "-E")==0) {
+ break;
+ case 'E':
eflag = 0;
+ break;
+ default:
+ usage(uname_usage);
}
- else if (strncmp(p, "--", 2)==0) {
- usage( uname_usage);
- }
- else break;
- ap++;
}
+
+ ap = &argv[optind];
while ((p = *ap++) != NULL) {
while ((c = *p++) != '\0') {
if (c == '\\' && eflag) {
char *date_str = NULL;
char *date_fmt = NULL;
char *t_buff;
- int i;
+ char c;
int set_time = 0;
int rfc822 = 0;
int utc = 0;
struct tm tm_time;
/* Interpret command line args */
- i = --argc;
- argv++;
- while (i > 0 && **argv) {
- if (**argv == '-') {
- while (i > 0 && *++(*argv))
- switch (**argv) {
- case 'R':
- rfc822 = 1;
- break;
- case 's':
- set_time = 1;
- if (date_str != NULL)
- usage(date_usage);
- date_str = *argv;
- break;
- case 'u':
- utc = 1;
- if (putenv("TZ=UTC0") != 0)
- fatalError(memory_exhausted);
- break;
- case 'd':
- use_arg = 1;
- if (date_str != NULL)
- usage(date_usage);
- date_str = *argv;
- break;
- case '-':
- usage(date_usage);
- }
- } else {
- if ((date_fmt == NULL) && (**argv == '+'))
- date_fmt = *argv + 1; /* Skip over the '+' */
- else if (date_str == NULL) {
- set_time = 1;
- date_str = *argv;
- } else {
+ while ((c = getopt(argc, argv, "Rs:ud:")) != EOF) {
+ switch (c) {
+ case 'R':
+ rfc822 = 1;
+ break;
+ case 's':
+ set_time = 1;
+ if ((date_str != NULL) || ((date_str = optarg) == NULL))
usage(date_usage);
- }
+ break;
+ case 'u':
+ utc = 1;
+ if (putenv("TZ=UTC0") != 0)
+ fatalError(memory_exhausted);
+ break;
+ case 'd':
+ use_arg = 1;
+ if ((date_str != NULL) || ((date_str = optarg) == NULL))
+ usage(date_usage);
+ break;
+ default:
+ usage(date_usage);
}
- i--;
- argv++;
}
+ if ((date_fmt == NULL) && (optind < argc) && (argv[optind][0] == '+'))
+ date_fmt = &argv[optind][1]; /* Skip over the '+' */
+ else if (date_str == NULL) {
+ set_time = 1;
+ date_str = argv[optind];
+ } else {
+ usage(date_usage);
+ }
/* Now we have parsed all the information except the date format
which depends on whether the clock is being set or read */
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;
}
int nflag = 0;
int eflag = 0;
- ap = argv;
- if (argc)
- ap++;
- while ((p = *ap) != NULL && *p == '-') {
- if (strcmp(p, "-n")==0) {
+
+ while ((c = getopt(argc, argv, "neE")) != EOF) {
+ switch (c) {
+ case 'n':
nflag = 1;
- } else if (strcmp(p, "-e")==0) {
+ break;
+ case 'e':
eflag = 1;
- } else if (strcmp(p, "-E")==0) {
+ break;
+ case 'E':
eflag = 0;
+ break;
+ default:
+ usage(uname_usage);
}
- else if (strncmp(p, "--", 2)==0) {
- usage( uname_usage);
- }
- else break;
- ap++;
}
+
+ ap = &argv[optind];
while ((p = *ap++) != NULL) {
while ((c = *p++) != '\0') {
if (c == '\\' && eflag) {
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;
}