diff options
| author | Bruno Haible <bruno@clisp.org> | 2025-07-31 18:45:45 +0200 |
|---|---|---|
| committer | Pádraig Brady <P@draigBrady.com> | 2025-08-01 13:31:28 +0100 |
| commit | 0142856e7b3ff98ba0b0de32543cffc4be098fb2 (patch) | |
| tree | 98e5d39394d800f34481d0661ea4681bc4ac2986 | |
| parent | date: fix calendar-related test failures on macOS and OpenBSD (diff) | |
| download | coreutils-0142856e7b3ff98ba0b0de32543cffc4be098fb2.tar.gz coreutils-0142856e7b3ff98ba0b0de32543cffc4be098fb2.zip | |
maint: date: refactor to be entirely bottom-up
* src/date.c (show_date_helper): Move function. Remove forward
declaration.
| -rw-r--r-- | src/date.c | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/src/date.c b/src/date.c index 4a8dabc2e..42e66e25d 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; -} |
