On Sat, Dec 23, 2017 at 11:19:30AM +1100, Dave
Horsfall wrote:
On Fri, 22 Dec 2017, Random832 wrote:
I've got it. The problem is with putc (actually _flsbuf), and it is
precisely *because* stderr is unbuffered.
#define putc(x, p) (--(p)->_cnt >= 0 ? \
((int) (*(p)->_ptr++ = (unsigned char) (x))) : \
_flsbuf((unsigned char) (x), (p)))
[...]
That, sir, is one brilliant piece of analysis; well done! Of course, in
hindsight it's bleedin' obvious :-)
I'm curious as to which release of System V fixed this. The SVR4 was the
release that gained (some) traction, was it busted until then?