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