Subject: bug#77800: grep-3.12: write-error-msg test failure on fedora rawhide (f43)

From: Jim Meyering <[email-masked]>
Date: Tue, 15 Apr 2025 20:32:21 -0700

On Tue, Apr 15, 2025 at 7:26 PM Grisha Levit <[email-masked]> wrote:
> On Tue, Apr 15, 2025 at 9:54 PM Jim Meyering <[email-masked]> wrote:
> > Whoa. Thanks. It looks like this is a >19-year-old bug in stream-close.c
> > Here's a tentative fix -- the ChangeLog entry still lacks details of
> > when it was introduced:
>
> -      if (! fclose_fail)
> +      if (!fclose_fail && !prev_fail)
>          errno = 0;
>
> I wonder if this was intentional? Since close_stdout seems to be mostly used
> as an atexit function, errno may well have been set for some unrelated
> reason by the time this runs -- but errno will be relevant to this stream
> if fclose has just failed.

I retract that patch. It was obviously wrong: it would render the
errno=0 statement unreachable.