Mail Archives: cygwin/2002/09/05/18:12:59
On Wed, Sep 04, 2002 at 11:57:15PM +0200, Dan Vasaru wrote:
>My apologies if this has already been discussed:
>
>I would just love a CYGWIN variable setting that would make cygwin ignore
>the O_TEXT flag from all programs, thus bypassing any translation code in
>cygwin1.dll.
>May I suggest "notextmode", if not taken already :)
>
>At work, we're aiming for maximum UNIX compatibility between all files
>across win32/linux/solaris. All this O_TEXT stuff really, really gets in the
>way. All our mounts are binmode, yet the fact that some programs set the
>O_TEXT flag, and cygwin doesn't ignore it, will at some point add a stray
>carriage return (see various threads on CRLF) in various pipes and
>redirects.
No, it won't add a stray CR unless the file is opened as O_TEXT for
output, which no programs in the cygwin release should be doing. O_TEXT
for input specifically means that CRLFs are translated to LFs
internally.
It will *interpret* a CRLF as a LF, however, which has its own
ramifcations.
>We'd rather patch/wrap all non-cygwin utilities in our tool chain (i.e.
>cl.exe) to output binmode only. Thinking of it, one could add an lf-ize
>utility that invokes a program and adds CR to input while removing them from
>output. This would keep the pipes clear of carriage returns.
Why would you want to *add* a CR to input? A program which uses O_TEXT
for input will still consider lines ending only with LF to be properly
terminated.
>lfize cl.exe | grep -v "^$"
>lfize cat textfile | sed | awk
>
>I freely admit not offering much thought to CTRL+Z.
I have a feeling that one of us still isn't getting something here.
If you are willing to write a program which wraps every DOS program
which outputs CRLF, then do that, mount everything with -b and you
should be all set.
cgf
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -