Hi, Am 2015-06-10 23:37, schrieb Richard Weinberger: > On Wed, Jun 10, 2015 at 11:21 PM, Hans-Werner Hilse <hwhi...@gmail.com> > wrote: >> Naming local variables "stdin" and "stdout" is fine with glibc, >> other C libraries, namely musl, will however complain. > > Wait, what?! > These are not local variables, they are struct members. > > What exactly is the issue with musl? Sounds very odd.
They chose to have stdin and stdout (and, of course, stderr) wrapped in macros - in a different way than glibc: [...] extern FILE *const stdin; [...] #define stdin (stdin) (http://git.musl-libc.org/cgit/musl/tree/include/stdio.h?id=v1.1.10#n59) The C standards C89/C99 (the last one I even looked up right now) say those identifiers are macros - according to stdio.h from glibc, which does the following: /* Standard streams. */ extern struct _IO_FILE *stdin; /* Standard input stream. */ [...] /* C89/C99 say they're macros. Make them happy. */ #define stdin stdin [...] Of course you're right, of course they are struct members. That's what I get for writing my commit messages too long after going at the issue at hand. I'll send an updated patch series in a few minutes. Thanks for getting back and caring! -hwh ------------------------------------------------------------------------------ _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel