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