From 0142856e7b3ff98ba0b0de32543cffc4be098fb2 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Thu, 31 Jul 2025 18:45:45 +0200 Subject: [PATCH] maint: date: refactor to be entirely bottom-up * src/date.c (show_date_helper): Move function. Remove forward declaration. --- src/date.c | 48 +++++++++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/src/date.c b/src/date.c index 4a8dabc2e1..42e66e25d3 100644 --- a/src/date.c +++ b/src/date.c @@ -38,8 +38,6 @@ #define AUTHORS proper_name ("David MacKenzie") -static bool show_date_helper (char const *, bool, struct timespec, timezone_t); - enum Time_spec { /* Display only the date. */ @@ -373,6 +371,29 @@ set_LC_TIME (char const *locale) return ret; } +static bool +show_date_helper (char const *format, bool use_c_locale, + struct timespec when, timezone_t tz) +{ + if (parse_datetime_flags & PARSE_DATETIME_DEBUG) + error (0, 0, _("output format: %s"), quote (format)); + + bool ok; + if (use_c_locale) + { + char *old_locale_category = set_LC_TIME ("C"); + ok = show_date (format, when, tz); + char *new_locale_category = set_LC_TIME (old_locale_category); + free (new_locale_category); + free (old_locale_category); + } + else + ok = show_date (format, when, tz); + + putchar ('\n'); + return ok; +} + /* Parse each line in INPUT_FILENAME as with --date and display each resulting time and date. If the file cannot be opened, tell why then exit. Issue a diagnostic for any lines that cannot be parsed. @@ -697,26 +718,3 @@ main (int argc, char **argv) main_exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } - -static bool -show_date_helper (char const *format, bool use_c_locale, - struct timespec when, timezone_t tz) -{ - if (parse_datetime_flags & PARSE_DATETIME_DEBUG) - error (0, 0, _("output format: %s"), quote (format)); - - bool ok; - if (use_c_locale) - { - char *old_locale_category = set_LC_TIME ("C"); - ok = show_date (format, when, tz); - char *new_locale_category = set_LC_TIME (old_locale_category); - free (new_locale_category); - free (old_locale_category); - } - else - ok = show_date (format, when, tz); - - putchar ('\n'); - return ok; -} -- 2.47.2