On 02/08/2011 08:02 PM, Osier Yang wrote: > 于 2011年02月09日 01:12, Eric Blake 写道: >> On 02/08/2011 03:30 AM, Osier Yang wrote: >>> +bool >>> +virIsDevMapperDevice(const char *devname) >>> +{ >>> + struct stat buf; >>> + >>> + if (devname&& >>> + !stat(devname,&buf)&& >> >> One other thing - the check for devname being non-NULL is not >> necessary... >> >>> +bool virIsDevMapperDevice(const char *devname); >> >> if you add ATTRIBUTE_NONNULL(1) to this declaration. Given that the >> only use of this new function to date doesn't pass a NULL pointer, we >> might as well make that part of the API. >> > Yeah, it's more reasonable to add ATTRIBUTE_NONNULL to this internal > function, but do we need to make change on the API? I'm not sure > if it will introduce some problem.
Adding ATTRIBUTE_NONNULL _is_ the API change I was referring to - it simplifies the implementation, and puts a contract on the caller to not pass NULL. We can always remove it later (and re-instate the explicit null check in the implementation) if we find a reason to, since the function is internal. -- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list