Fix warning about using NULL in arithmetic

The macro incorrectly uses the NULL in a logical operation that forces
GCC to evaluate the NULL to an arithmetic value. We now use the short version of
the logical test, just testing if the pointer is not = Zero.