On 20 Aug 08, at 20:06, Michael Ash wrote:
On Wed, Aug 20, 2008 at 8:34 PM, Douglas Davidson <[EMAIL PROTECTED]> wrote:
Well, after all, zero is zero, how much difference can it make? Quite a bit, as it turns out, since in 64-bit one of them is four bytes of zero, and the other is eight bytes of zero. If you're just comparing against NULL, it doesn't matter, but if you're using it in something where size counts--say, a list of vararg arguments--then it matters a lot. It's not easy to debug, though, because who would think that you need to distinguish one NULL from
another?

It is a little known fact that when passing NULL (and by extension nil
or Nil) as a parameter to a vararg function, you *must* cast it to the
appropriate pointer type to guarantee correct behavior.

Source (and, preferably, example) please? A pointer is a pointer is a pointer; the internal representation of (char *) NULL is identical to (void *) NULL or (NSRect *) NULL or (id) nil or what-have-you.
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to