Lists Home |
Date Index |
From: "Richard Tobin" <email@example.com>
> >>> So if you can send ^D down your UNIX pipes, it is because the
> >>> specific programs in the
> >>> pipeline happen to be reading the input stream in binary mode not =
> >>> text mode.
> But this is not true. It would only not work if some specific program
> had its own "text mode" in which it did this. I have never seen such
> a program.
> Do you have a real example of one?
From shell implementation CYG-WIN (which is admittedly not UNIX)
"There's a new registry variable "fmode=binary" which controls
whether the tools always open files in binary mode (unless overridden
with O_TEXT), or always open files in text mode (unless overridden with
For more on this, see
See also the discussion of booking binary files out of CVS at
at "ash stdin mode is set to O_TEXT, "
On PCs, the DOS command "type" stops on ^Z when writing to the console.
If you use "type x.txt | more" it does not truncate. (Its help specifically says
it is for "text".)
The DOS command "copy" stops on ^Z if you use /A option.
But I have been confused with talking of pipes and stdio when the APIs I
mentioned all deal with file IO. The mechanics I gave were wrong, however
the problem is still real.