On 05/12/2012 05:37 PM, Paul Eggert wrote: > On 05/12/2012 10:41 AM, Bruno Haible wrote: >> I would suggest to use a function >> >> int setmode (int fd, int o_mode); > > That would clash with the setmode function defined > in <unistd.h> in FreeBSD etc., which is partly why we > removed this stuff from diffutils. > I agree that it'd be nicer to have a function > with an additional argument. But I'd rather > not use a name like 'setmode' that clashes with BSD. > > 'set_binary_mode' would be OK, but wouldn't it > be cleaner to use fcntl? The standard way to > set and clear O_* flags is fcntl, so shouldn't > it look like this? > > flags = fcntl (fd, F_GETFL); > fcntl (fd, F_SETFL, flags | O_BINARY);
No, because cygwin doesn't do it that way. The only way to change between O_BINARY and O_TEXT on cygwin is via setmode(), and it is not worth wrapping fcntl() to make that an alternate interface. -- Eric Blake [email protected] +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
