On Thu, Feb 08, 2007 at 05:33:32PM +0000, Charles Forsyth wrote: > you're mixing ANSI prototypes and the original style, and > in > void f(b) > char b; > > i suspect b is promoted to int, because before prototypes C compilers > didn't know an argument was a char at point of call, and chars were promoted > to int (similarly float to double), > and the function with the argument so promoted clashes with the earlier void > f(char). >
I give prototypes of foo and foo1 before use and define them, maybe 8c just ignore these prototypes when it see the definitions. > in any case, if you're going to use 8c at all, just commit to ANSI prototypes. > in fact, even if you're not going to use 8c, just use ANSI prototypes and > either way, > avoid or eliminate the ARGS crud. > > surely it must be at least 20 years old. > > if the code is imported i suppose it doesn't matter, but if it's new code, > using ARGS or __PROTO or whatever is usually just silly. It's old code, anyway. Lee
