[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Pointer if test for for NULL
- Date: Thu, 29 Apr 2010 06:29:27 -0400
- From: dufault at hda.com (Peter Dufault)
- Subject: Pointer if test for for NULL
On Apr 29, 2010, at 6:20 , Peter Dufault wrote:
> I tried to decide if on a "NULL not all-bits-zero" architecture you could come up with devious prototypes for malloc() to make your example not work. I guess that's your basic question. If the NULL bit pattern is actually 0xffffffff and you prototype malloc() to be uint8_t and you ignore all the warnings you're going to get when malloc() returns NULL, then p would wind up being 0x000000ff, and so "if (p)" would succeed. I don't think this is an argument for removing "if (p) {". If the style guide for a code base says "use if (p != NULL) {" then by all means change it in *that code base only*, leave it alone in external code.
Sigh. I left out one of my important points, which is that "if (p != NULL) {" would also test true on the above-mentioned architecture, and I couldn't come up with a scheme where they would evaluate differently. I've got to let that coffee take effect before posting.
Peter
-----------------
Peter Dufault
HD Associates, Inc. Software and System Engineering