Ensure that cat works with any of the options, -A -v -e -E -T,
authorJim Meyering <jim@meyering.net>
Thu, 8 Jun 2006 20:13:37 +0000 (20:13 +0000)
committerJim Meyering <jim@meyering.net>
Thu, 8 Jun 2006 20:13:37 +0000 (20:13 +0000)
commit790892db657ac79b0ba5f7a69cc7e70eb4fed8e0
tree6d768a6a1af6cab8a813c1173dddc93c352f4751
parentcad27cdc2ea46ec401b71b76a92fcf3bc1d094e0
Ensure that cat works with any of the options, -A -v -e -E -T,
when applied to files in /proc and /sys, even when the FIONREAD
ioctl produces nonsensical results.  Before this change, cat would
produce no output (or truncated output), for some linux kernels.

* src/cat.c (write_pending): New function, factored out of cat.
(cat): Also interpret a negative ioctl/FIONREAD count as indicating
that there are bytes to read.  Some versions of linux-2.6.16 do that.
Write any pending output before returning.
Reported by Dan Jacobson in <http://bugs.debian.org/370583>.
* NEWS: Mention this bug fix.
* tests/misc/cat-proc: New file.  Test for the above.
* tests/misc/Makefile.am (TESTS): Add cat-proc.
ChangeLog
NEWS
src/cat.c
tests/misc/Makefile.am
tests/misc/cat-proc [new file with mode: 0755]