From: earnie_boyd AT hotmail DOT com (Earnie Boyd) Subject: Re: Bug in od, cat, etc reading binary files 22 Sep 1997 10:44:15 -0700 Message-ID: <19970922172829.280.qmail.cygnus.gnu-win32@hotmail.com> Content-Type: text/plain To: ead AT ixian DOT com, gnu-win32 AT cygnus DOT com, lhall AT rfk DOT com Cc: joe AT jump DOT com >Date: Mon, 22 Sep 1997 11:03:56 -0400 >To: Eric De Mund , GNU-Win32 List >From: Larry Hall >Subject: Re: Bug in od, cat, etc reading binary files >Cc: Joe Peterson > >At 01:30 AM 9/22/97 -0700, Eric De Mund wrote: >>GNU-Win32 People, >> >> Joe Peterson to : >> ] Sorry if this is documented somewhere, but I could not find >> ] mention of it. I find that when, for example, using "od" to look >> ] at a binary file, if a ctrl-Z is encountered, the reading stops. >> ] This is because the fopen presumably does a "r" rather than a "rb" >> ] (a pc-ism). >> ] >> ] Other programs like "cat" and possibly others have this problem as >> ] well... >> >>GNU-Win32 cat(1) does have this problem, as does md5sum(1), rendering >>them significantly less useful. It's the understanding of this Unix >>developer new to the Windows world that the equivalent of Microsoft's >>Visual C++ 5.0 Run-Time Library function _setmode(3) is required (global >>variable _fmode in that development world setting the default file- >>translation mode of all files *except* stdin, stdout, and stderr). >> >>Questions: How do I do these in the GNU-Win32 world? How do I: >> * set the analog of MSVC++5.0's _fmode >> * call the analog of MSVC++5.0's int _setmode(int handle, int mode) >> >>Thank you, >>Eric De Mund >> >>"Magazines all too frequently lead to books and should be regarded by the >>prudent as the heavy petting of literature." --Fran Lebowitz > >Eric, > >You're half right in your understanding. The problem is due to "text" >files in Windows and the need to open files in binary mode in order to >"get things right". You have 2 choices: > > - Recompile offending code, either setting the mode or changing all > file open commands to use the "b" (for binary) flag. > > - mount (via the mount command) your filesystems as binary (-b) so that > all files are automatically treated as binary just like in UNIX. This > step is usually the easiest and best in the long run but also tends > to cause short term headaches since all the "text" files that you > currently have will be filled with s which bash and other things > will barf on. Reinstalling the system using cygwin tar/gzip or > translating all your system files (at least) usually handles the > problems. > >Larry Hall lhall AT rfk DOT com >RFK Partners, Inc. (781) 239-1053 >8 Grove Street (781) 239-1655 - FAX >Wellesley, MA 02181 > >- >For help on using this list (especially unsubscribing), send a message to >"gnu-win32-request AT cygnus DOT com" with one line of text: "help". > Eric, I chose the second option. Check the mail archives for further info. - \\||// ---o0O0--Earnie--0O0o---- -earnie_boyd AT hotmail DOT com- ------ooo0O--O0ooo------- ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".