On Mar 18 10:43, Corinna Vinschen wrote: > On Mar 17 21:15, Charles Wilson wrote: > > Is there a cygwin analogue to the msvc _set_fmode()? That is, a function > > that sets the default mode of fopen, even if you don't explicitly > > specify it "rb" or whatever. > > > > Obviously, there's "use binary (or text) mounts". Less obviously, you > > can link against /usr/lib/binary.o (or -lbinmode), or text.o (or > > automode.o or textreadmode.o and the similar .a's). But I'm looking for > > an actual function call to replace the following code in libarchive: > > [...] > > I'm using binmode.o at present, but I'd prefer to just make a func call > > at the same place the WIN32-specific code does. (FWIW, you can't call > > the w32api _set_fmode() function and expect it to work; the msvc runtime > > and cygwin maintain different default _fmode variables). > > Cygwin has no such function call except for the per-descriptor function > setmode (fd, mode). IMHO using binmode.o is much more elegant. The > only other choice you have is this: > > extern int _fmode; > _fmode = O_BINARY; > > _fmode is defined in crt0.o so you can simply access it if you like. > But anyway, using binmode.o is much more elegant, IMHO. I don't see > what speaks against using it.
Btw., it looks like the binmode/textmode documentation in the Cygwin 1.7 user's guide still needs a lot of rework. Sigh. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/