On 05/30/2012 05:44 PM, Joerg Wunsch wrote:

> As Richard Henderson wrote:
> 
>> Instead of writing to stdout, open the file to write, and open
>> it in binary mode.  Seems much easier than fighting with conversion
>> after the fact.
> 
> (Disclaimer: I'm not the author.)
> 
> There has been an argument that (some) older implementations might not
> be able to handle the "b" for binary mode.  It's probably questionable
> whether such ancient (Unix) implementations bear any relevance anymore
> when it comes to the AVR port of GCC though.  (IIRC, ISO-C90 did
> standardize the "b" mode letter to fopen().)


Not 'fopen' with "b", but 'open' with O_BINARY.  There's precedent for that
already in gcc and other parts of the toolchain (binutils, gdb), as a grep
will tell.  O_BINARY is defaulted to 0 in system.h (so that it's a nop), and
is usually defined in fcntl.h (to non-zero) on platforms that actually
differentiate text and binary modes, such as Windows.

-- 
Pedro Alves

Reply via email to