Re: 3 Questions

From: George Greer (
Date: 01/31/01

On Wed, 31 Jan 2001, Daniel A. Koepke wrote:

>On Tue, 30 Jan 2001, Peter Ajamian wrote:
>> When 0 is casted as a pointer it must be converted to NULL
>No.  He meant NULL *is* 0.  Conversion from 0 to NULL is meaningless.
>NULL *is* 0.

That's exactly what I meant.  The only reason we write:

        #define NULL    (void *)0

in utils.h (and most other programs) is because then we at least get
integer/pointer conversion warnings from the compiler.

>> Now if you're quite sure that the program your working on will never
>> be compiled on a platform that uses a value other than all-bits-zero
>> [...]
>And you can be quite sure of that.  Because it's true in 99% of the cases
>and the 1% probably aren't supported, anyway.

GCC itself uses the all-bits-zero assumption in its code.  It's so much
easier to just have memset() on the structure instead of manually caring
which field is a pointer or not.

George Greer

   | FAQ: |
   | Archives: |

This archive was generated by hypermail 2b30 : 12/03/01 PST