so I just came across this if (argc) statement and I'm not sure why it is placed there in the first pleace, I am assuming that argc is not tinkered with (via arg.h), but the program works well without it, so my question is, is this if() statement incorrect or it's just there because of arg.h?
diff --git a/date.c b/date.c index 1671e1f..b2836fd 100644 --- a/date.c +++ b/date.c @@ -33,13 +33,13 @@ main(int argc, char *argv[]) usage(); } ARGEND - if (argc) { - if (argc != 1 || argv[0][0] != '+') - usage(); - else - fmt = &argv[0][1]; - } - if (!(now = tztime(&t))) + if (argc != 1 || argv[0][0] != '+') + usage(); + else + fmt = &argv[0][1]; + + now = tztime(&t); + if (!now) eprintf("%stime failed\n", tz); strftime(buf, sizeof(buf), fmt, now);