On Fri, Apr 18, 2025, 01:18 Jim Meyering <j...@meyering.net> wrote: > > On Tue, Apr 15, 2025 at 9:17 PM Jim Meyering <j...@meyering.net> wrote: > ... > > We're going to have to revise that code. > > The difference I see is that before rawhide, that fclose would fail. > > It's perfectly fine for fclose to succeed in this case, as now happens > > on rawhide (because with 4k BUFSIZ, the fclose wrote nothing -- the > > preceding 4096-byte write is what failed). > > > > Here's a better patch: (technically, we could factor it somewhat, but > > readability would suffer disproportionately) > > I didn't take the time to find a precise commit, but this bug predates > the move from closeout.c to gnulib's close-stdout.c in 2006. As I > write this, I'm installing Fedora 42. > I'll probably push the attached to gnulib tomorrow:
> Exposed via Fedora 42's new glibc vs grep's --help being precisely > 4096 bytes. AFAICT this is not related to F42 or new glibc, it's just longer help text in grep-3.12 + Fedora patch making it even longer. But you should see the same behavior on existing systems with e.g.: $ { env printf %4095s; env printf %4096s; } > /dev/full printf: write error: Broken pipe printf: write error