Checking C return results against NULL
Mike Parker via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Dec 31 03:37:31 PST 2014
On 12/31/2014 8:29 PM, Rikki Cattermole wrote:
> On 1/01/2015 12:22 a.m., Laeeth Isharc wrote:
>> Am I missing a more agreeable way to check the return value of a C
>> function against NULL. It's fine if it's a char*, but if it returns a
>> pointer to some kind of struct, one has to go through and convert each
>> instance of NULL to a cast of the appropriate return type. Eg
>> cast(funnystruct*)0
You can take your pick of these:
if( !ptr ) ...
if( ptr == null ) ...
if( ptr is null ) ...
>>
>> if ((tomime_fields.fld_description==cast(char*)0))
>> throw new Exception("show_part_info: description is NULL");
>
> == for value
> is for pointers
>
> if (tomime_fields.fld_description is null)
> throw new Exception("...");
Actually, while 'is' does work for pointers, it's only necessary for
references.
More information about the Digitalmars-d-learn
mailing list