Hi,

> Even if there was a good reason to change it, there's way too much
> code that does this kind of thing:
> 
>   foo = malloc(10);
>   if (!foo) exit(1);

that's wrong. 
NULL is guarenteed to be 0 but the null pointer not (C-FAQs chapter 5.19).
The code only works because foo is compared with a constant zero (C-FAQs 
chapter 5.18). If foo would be compared with a variable 0 the if statement 
would always be true.
Otherwise the compiler couldn't malloc or do other things at address 0, 
although the C standard allows you to do it (if it is possible with the 
hardware).

Rolf



Reply via email to