On Apr 25, 2008, at 3:20 PM, Bojan Smojver wrote:
On Sat, 2008-04-26 at 08:07 +1000, Bojan Smojver wrote:
I'm not sure that is portable C. Is the compiler guaranteed to
optimize that
into a constant?
I would think so. BUFSIZ is defined as constant, as well as
APR_FILE_DEFAULT_SIZE. But, I'll check again...
The book says that such expressions _may_ be evaluated during
compilation. So, I guess it is not guaranteed (I would think any
modern
compiler would do it, though).
If you wish, I can have the classic #if (the one I did in header files
before) in copy.c. That should make it clear.
I just checked by K&R 1st edition and it allows constants
"possibly connected" by the ternary operator. So, unless we find a
specific compiler that doesn't accept it, I think we can leave it as is.
....Roy