Audit date(1)
1) Update usage as already done in the manpage 2) group and sort local variable declarations 3) Be pedantic about the number of options. Don't just ignore it if argc > 1.
This commit is contained in:
parent
27656a0cbc
commit
e50ee15a9c
2
README
2
README
|
@ -23,7 +23,7 @@ The following tools are implemented ('*' == finished, '#' == UTF-8 support,
|
|||
= cp yes none (-i)
|
||||
=* cron non-posix none
|
||||
#* cut yes none
|
||||
=* date yes -u
|
||||
=*| date yes none
|
||||
=*| dirname yes none
|
||||
=* du yes none
|
||||
=*| echo yes none
|
||||
|
|
15
date.c
15
date.c
|
@ -8,20 +8,19 @@
|
|||
static void
|
||||
usage(void)
|
||||
{
|
||||
eprintf("usage: %s [-u] [-d format] [+FORMAT]\n", argv0);
|
||||
eprintf("usage: %s [-u] [-d time] [+format]\n", argv0);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
char buf[BUFSIZ];
|
||||
char *fmt = "%c";
|
||||
struct tm *now = NULL;
|
||||
struct tm *now;
|
||||
struct tm *(*tztime)(const time_t *) = localtime;
|
||||
const char *tz = "local";
|
||||
time_t t;
|
||||
char buf[BUFSIZ], *fmt = "%c", *tz = "local";
|
||||
|
||||
t = time(NULL);
|
||||
|
||||
ARGBEGIN {
|
||||
case 'd':
|
||||
t = estrtonum(EARGF(usage()), 0, LLONG_MAX);
|
||||
|
@ -34,8 +33,12 @@ main(int argc, char *argv[])
|
|||
usage();
|
||||
} ARGEND;
|
||||
|
||||
if (argc > 0 && argv[0][0] == '+')
|
||||
if (argc) {
|
||||
if (argc != 1 || argv[0][0] != '+')
|
||||
usage();
|
||||
else
|
||||
fmt = &argv[0][1];
|
||||
}
|
||||
if (!(now = tztime(&t)))
|
||||
eprintf("%stime failed\n", tz);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user