Subject: sys/null.h
To: None <>
From: Roland Illig <>
List: tech-userlevel
Date: 04/13/2005 18:09:32
Hi all,

To quote from the ISO C99 standard:

The macros are
which expands to an implementation-defined null pointer constant

Currently, <sys/null.h> defines NULL to be 0.

Now my questions are:

* What happens on I32LP64 systems?
   fprintf(stderr, "%#p %#p\n", NULL, NULL, 1, 2, 3, 4);
   I would expect the answer to not be "0x0 0x0".

* Why don't we always #define NULL ((void *) 0) ?
   (We don't have to be pre-ANSI compatible anyway.)