[Home] [By Thread] [By Date] [Recent Entries]
From: "Richard Tobin" <richard@c...> > >>> 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) http://www.cygwin.com/faq/faq.txt "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 O_BINARY)." For more on this, see http://sources.redhat.com/cygwin/cygwin-ug-net/using-textbinary.html See also the discussion of booking binary files out of CVS at http://www.cygwin.com/ml/cygwin-apps/2001-04/threads.html#00081 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. Cheers Rick Jelliffe
|

Cart



