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:
FRIGN
2015-03-02 15:12:19 +01:00
parent 27656a0cbc
commit e50ee15a9c
2 changed files with 11 additions and 8 deletions

17
date.c
View File

@@ -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] == '+')
fmt = &argv[0][1];
if (argc) {
if (argc != 1 || argv[0][0] != '+')
usage();
else
fmt = &argv[0][1];
}
if (!(now = tztime(&t)))
eprintf("%stime failed\n", tz);