From: raf AT comdyn DOT com DOT au (raf) Subject: Re: BUG: stdin not a constant 7 Dec 1997 15:22:40 -0800 Message-ID: <199712072252.JAA10987.cygnus.gnu-win32@mali.comdyn.com.au> To: gnu-win32 AT cygnus DOT com >The following code doesn't compile. >------ >#include >static FILE *out = stdout; >void main(void) >{ > /* out = stdout; */ > fprintf(out, "hello world\n"); >} >------ >It gets the following error message: >test.c:3: initializer element is not constant >The fix is to remove the initialiser and add the line which is commented >out. >However the code I am trying to port has these sort of variables spread >all over the place, and I would like to know if there is someway I can >get the compiler to treat it as a constant. stdout is probably defined as "(&__iob[1])" which is just an expression because of the parentheses. #undef it a #define it as "&__iob[1]" which is a constant. raf - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".