Mail Archives: djgpp-workers/1998/03/25/07:37:04
Salvador Eduardo Tropea (SET) wrote:
> But perhaps we must investigate if the __null have some advantage and:
>
> 1) Define NULL conditionally (no redefinition)
> 2) If not defined:
> a) Test the gcc version, if 2.8.0 define with __null
> b) if prior define with 0.
Conditional redefinition is dangerous since this way NULL might get two
values that do not compare equal, even when compiled with the same
compiler version.
An unconditional #define is best (i.e. preceded with #undef) as it only
disadvantages programs which are at fault.
Checking whether gcc's version is 2.8.0, won't help a bit:
for instance the libc library can have been defined using gcc-2.7.2.1
and hence NULL would be 0. A program compiled with 2.8.0 would then
define NULL as __null. Like DJ mentionned, a library function like fopen
can return NULL (=0) and it must be possible that a program compares it
with NULL (=__null).
--
\ Vik /-_-_-_-_-_-_/
\___/ Heyndrickx /
\ /-_-_-_-_-_-_/
- Raw text -