From fdf88157c6e8d1c5e84889cd3133e426f4688005 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 1 Nov 2025 17:44:43 -0600 Subject: [PATCH] date: diagnose fprintftime failure * src/show-date.c (show_date): Diagnose fprintftime failure, as it need not be an output error. --- src/show-date.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/show-date.c b/src/show-date.c index ffa3d02b7c..59d5cf9364 100644 --- a/src/show-date.c +++ b/src/show-date.c @@ -21,16 +21,19 @@ show_date (char const *format, struct timespec when, timezone_t tz) { struct tm tm; - if (localtime_rz (tz, &when.tv_sec, &tm)) - { - fprintftime (stdout, format, &tm, tz, when.tv_nsec); - return true; - } - else + if (!localtime_rz (tz, &when.tv_sec, &tm)) { char buf[INT_BUFSIZE_BOUND (intmax_t)]; error (0, 0, _("time %s is out of range"), quote (timetostr (when.tv_sec, buf))); return false; } + + if (fprintftime (stdout, format, &tm, tz, when.tv_nsec) < 0) + { + error (0, errno, "fprintftime"); + return false; + } + + return true; } -- 2.47.3