Subject: Re: using cat on binary files (CTRL-Z trauma)
From: [email-masked] ("Henrik Geleff")

28 Oct 1996 09:14:18 -0800
Sender: [email-masked]
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Original-To: <[email-masked]>
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Original-Sender: [email-masked]

I do think it is correct for cat to pick CTRL-Z as an end of file on the
DOS/Windows/NT platforms, the CTRL-Z has been inherited by these platforms 
from CP/M, which was not able to determine how much of the last sector
actually was file contents. Basicly:

- cat was intended to show text files -- cat'ing binary files to an ASCII
terminal can bring the terminal into a state which you can not escape from
in an orderly manner (i.e. logging out).

- CP/M, later MS-DOS, later Windows, later NT have kept the tradition of
using CTRL-Z as EOF character (although the reason has ceased to exist),
and such a long tradition should be honoured.

Anybody wanting to see the contents of a binary file can use od -c or if
only the text is wanted strings.

Regards
Henrik Geleff

----------
> From: Geoffrey Noer <[email-masked]>
> To: John Cook <[email-masked]>
> Cc: [email-masked]
> Subject: Re: using cat on binary files (CTRL-Z trauma)
> Date: 28 October 1996 11:22
> 
> John Cook taps on the keyboard:
> > 
> > Thank you for this clarification...  I am still looking for an answer
> > to my main question, however:  Is there a way to prevent cat from
> > quitting when it finds a CTRL-Z in its input under either the Win32
> > console or GnuWin32 bash?
> > 
> > ...And if CTRL-Z is _not_ an EOF character, then why does cat behave
> > this way within Windows NT?  Is cat not intended for binary files under
> > Win32 environments?
> 
> The problem in this case seems to be that many Unix programs don't
> specify O_BINARY when appropriate.  Since cat always works in text
> mode, control-Z gets trapped as EOF even when it shouldn't.
> 
> I've added this as a known bug to look into.  For now, it would be
> best to avoid catting binary files.
> 
> For backwards compatibility, we will probably have to keep around
> the Control-Z as EOF support for quite a while.  This shouldn't be
> an issue as long as binary files are recognized as such.
> 
> -- 
> Geoffrey Noer
> [email-masked]
> -
> For help on using this list, send a message to
> "[email-masked]" with one line of text: "help".
-
For help on using this list, send a message to
"[email-masked]" with one line of text: "help".