* Paul Eggert ([email protected]) [20100819 00:39]: > I'm glad to hear that the bug is not present in diffutils 3.0.
> But I'm quite skeptical that the error occurs in the code that you quote, Oh, gdb proves that it's the freopen because of binary being true that's causing diff to fail on ksh. > since you're quoting the 3.0 version of the code, not the 2.8.7 version. No, I'm quoting the 2.8.7-cvs version that our distribution currently uses. As I wrote in the mail (OK, I see I left out the -cvs). > > Which I will fix by setting binary to false instead of true. > I'm also skeptical of this fix. Perhaps it makes one symptom go away in > one test case, but it's quite possible that it causes problems elsewhere. This sets binary unconditionally to true, so diff *will* do an freopen if input or output aren't a tty and will thus fail on things like sockets as I can reproduce anytime with the test I mentioned. And why should it cause problems? That branch only gets into play on !O_BINARY and on those platforms things like a reopen wb/rb are effectively nops when it comes to the 'b'. Philipp
