From: Jim Meyering Date: Sun, 29 Jan 2012 11:50:32 +0000 (+0100) Subject: do not ignore errors like ENOSPC,EIO when writing to stdout X-Git-Tag: v2.5.1_rc2~114 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/e187b40d317f2bcff21779a774a767f51c0fe276?hp=e187b40d317f2bcff21779a774a767f51c0fe276 do not ignore errors like ENOSPC,EIO when writing to stdout Standard output was never explicitly closed, so we could not detect failure. Thus, bison would ignore the errors of writing to a full file system and getting an I/O error on write, but only for standard output, e.g., for --print-localedir, --print-datadir, --help and some verbose output. Now, "bison --print-datadir > /dev/full" reports the write failure: bison: write error: No space left on device Before, it would exit 0 with no diagnostic, implying success. This is not an issue for "--output=-" or the other FILE-accepting command-line options, because unlike most other GNU programs, an output file argument of "-" is treated as the literal "./-", rather than standard output. * bootstrap.conf (gnulib_modules): Add closeout. * src/main.c: Include "closeout.h". Use atexit to ensure we close stdout. * .gitignore: Ignore new files pulled in via gnulib-tool. (cherry picked from commit acb5895680611f8beb497b41694d9686f2932c50) Conflicts: m4/.gitignore ---