From 7d17e1d36c4f0df71e9ff8d0a20a07f9c35bbb61 Mon Sep 17 00:00:00 2001 From: =?utf8?q?P=C3=A1draig=20Brady?= Date: Mon, 3 Nov 2025 12:44:07 +0000 Subject: [PATCH] date: promptly diagnose write errors with --file * src/date.c (batch_convert): Check error state of stdout after each date is processed. * tests/misc/write-errors.sh: Add a test case. --- src/date.c | 3 +++ tests/misc/write-errors.sh | 1 + 2 files changed, 4 insertions(+) diff --git a/src/date.c b/src/date.c index db16f3225a..91651e794f 100644 --- a/src/date.c +++ b/src/date.c @@ -448,6 +448,9 @@ batch_convert (char const *input_filename, { ok &= show_date_helper (format, format_in_c_locale, when, tz); } + + if (ferror (stdout)) + write_error (); } if (fclose (in_stream) == EOF) diff --git a/tests/misc/write-errors.sh b/tests/misc/write-errors.sh index b33e84a3d6..612658c6a6 100755 --- a/tests/misc/write-errors.sh +++ b/tests/misc/write-errors.sh @@ -30,6 +30,7 @@ cat /dev/zero comm -z /dev/zero /dev/zero cut -z -c1- /dev/zero cut -z -f1- /dev/zero +date --version; yes 0 | date -f- dd if=/dev/zero expand /dev/zero factor --version; yes 1 | factor -- 2.47.3