Daniel Shahaf <[email protected]> writes:
> First of all, I made the same patch yesterday elsewhere.
Another bug :)
> Second of all, the use is #if, not #ifdef, so I believe the macro is
> always defined (to 0 or 1).
The one doesn't follow from the other. In either case the macro could
be zero, non-zero, no value or not defined:
#if #ifdef
#define APR_HAS_THREADS 1 true true
#define APR_HAS_THREADS 0 false true
#define APR_HAS_THREADS true true
<nothing> false false
So not defining APR_HAS_THREADS is a valid way to define no thread
support, but it means you can't use APR_HAS_THREADS directly as a
variable.
It's possible that APR will always ensure that APR_HAS_THREADS is either
0 or 1, but the C language does not.
--
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com