>>>> If we use 0x0, it can be a valid pointer. >>>> If we use NULL, it's not expected to work and [...] >> Then someone has severely broken compatability with older versions >> of C. [...] > The process of evaluation of the NULL semantics is not a recent > thing.
No, it's not. But I was talking about the equivalence of 0x0 and NULL (in pointer contexts), not about what happens when you indirect through the result of converting either to a specific object pointer type. If 0x0 and NULL do different things in a pointer context, someone has severely broken backward compatability, regardless of what either of the "different things" is. There's a _lot_ of code that depends on the (historically promised by the spec) assurance that any of the various historically specified ways of spelling a null pointer constant, including 0x0 and, with a suitable #include, NULL, _is_ a null pointer constant. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B