]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
date: diagnose fprintftime failure
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 1 Nov 2025 23:44:43 +0000 (17:44 -0600)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 2 Nov 2025 00:00:32 +0000 (18:00 -0600)
* src/show-date.c (show_date): Diagnose fprintftime failure,
as it need not be an output error.

src/show-date.c

index ffa3d02b7cb4ca7b8140e250ae93c3e00d06fe4a..59d5cf936488f0192a0a8ce5007eed28c08b5b56 100644 (file)
@@ -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;
 }