On 12/30/2011 04:04 AM, Jim Meyering wrote:
>> -          if (lstat (rname, &st) != 0)
>> +          if ((logical?stat:lstat) (rname, &st) != 0)
> 
> Please add spaces around operators:
> 
>              if ((logical ? stat : lstat) (rname, &st) != 0)

Better yet, don't write this as a function pointer conditional, as the
gnulib replacement for stat on some platforms has to be a function-like
macro (no thanks to 'struct stat').  Using a function pointer
conditional risks missing the gnulib macro for stat, and calling the
underlying system stat() instead of the intended rpl_stat(), for broken
behavior.  You have to use:

if (logical ? stat (rname, &st) : lstat (rname, &st)) != 0)

-- 
Eric Blake   ebl...@redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to