From 64b024858ecb68ca89008325c33f73f12a0c2abc Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Sun, 20 Mar 2022 17:55:33 -0400 Subject: Add --disable-tests to shrink executable size --- (limited to 'src') diff --git a/src/main.c b/src/main.c index 7339166..572daf6 100644 --- a/src/main.c +++ b/src/main.c @@ -79,6 +79,7 @@ _print_help(const char *program_name) #endif } +#if defined(ENABLE_TESTS) && ENABLE_TESTS static struct tm * _set_now(char buf[]) { @@ -117,6 +118,7 @@ _set_now(char buf[]) return tm_p; } +#endif static void _list_formats(const struct tm *tm) @@ -203,7 +205,9 @@ _concat_args(int argc, char * const argv[]) int main(int argc, char * const argv[]) { +#if defined(ENABLE_TESTS) && ENABLE_TESTS bool dbg; +#endif bool fmt; int opt; char *buf; @@ -212,14 +216,27 @@ main(int argc, char * const argv[]) time_t arg; double dif; +#if defined(ENABLE_TESTS) && ENABLE_TESTS dbg = false; +#endif fmt = false; optind = 1; opterr = 0; + now = time(NULL); + now_tm = localtime(&now); + #if defined(HAVE_GETOPT_LONG) && HAVE_GETOPT_LONG +#if defined(ENABLE_TESTS) && ENABLE_TESTS while ((opt = getopt_long(argc, argv, "FhVd:", LONGOPTS_, NULL)) > 0) { #else + while ((opt = getopt_long(argc, argv, "FhV:", LONGOPTS_, NULL)) > 0) { +#endif +#else +#if defined(ENABLE_TESTS) && ENABLE_TESTS while ((opt = getopt(argc, argv, "FhVd:")) > 0) { +#else + while ((opt = getopt(argc, argv, "FhV:")) > 0) { +#endif #endif switch (opt) { case 'F': @@ -231,6 +248,7 @@ main(int argc, char * const argv[]) case 'V': _print_version(); return EXIT_SUCCESS; +#if defined(ENABLE_TESTS) && ENABLE_TESTS case 'd': dbg = true; now_tm = _set_now(optarg); @@ -238,6 +256,7 @@ main(int argc, char * const argv[]) return EXIT_FAILURE; } break; +#endif default: _print_usage(stderr, argv[0]); #if defined(HAVE_GETOPT_LONG) && HAVE_GETOPT_LONG @@ -253,11 +272,6 @@ main(int argc, char * const argv[]) argc -= optind; argv += optind; - if (dbg == false) { - now = time(NULL); - now_tm = localtime(&now); - } - if (fmt == true) { _list_formats(now_tm); return EXIT_SUCCESS; @@ -274,11 +288,13 @@ main(int argc, char * const argv[]) } free(buf); +#if defined(ENABLE_TESTS) && ENABLE_TESTS if (dbg == true) { dif = datetime_diff_epoch(arg); printf("%" PRId64 "\n", (int64_t) dif); return EXIT_SUCCESS; } +#endif now = time(NULL); dif = difftime(arg, now); -- cgit v0.9.1