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
signature.asc
Description: OpenPGP digital signature