[libvirt] [PATCH v1 13/40] util: mdev: use VIR_AUTOPTR for aggregate types

Erik Skultety eskultet at redhat.com
Mon Jul 23 13:03:04 UTC 2018


On Sat, Jul 21, 2018 at 05:36:45PM +0530, Sukrit Bhatnagar wrote:
> By making use of GNU C's cleanup attribute handled by the
> VIR_AUTOPTR macro for declaring aggregate pointer variables,
> majority of the calls to *Free functions can be dropped, which
> in turn leads to getting rid of most of our cleanup sections.
>
> Signed-off-by: Sukrit Bhatnagar <skrtbhtngr at gmail.com>
> ---
...

> @@ -494,23 +491,22 @@ int
>  virMediatedDeviceTypeReadAttrs(const char *sysfspath,
>                                 virMediatedDeviceTypePtr *type)
>  {
> -    int ret = -1;
> -    virMediatedDeviceTypePtr tmp = NULL;
> +    VIR_AUTOPTR(virMediatedDeviceType) tmp = NULL;
>
>  #define MDEV_GET_SYSFS_ATTR(attr, dst, cb, optional) \
>      do { \
>          int rc; \
>          if ((rc = cb(dst, "%s/%s", sysfspath, attr)) < 0) { \
>              if (rc != -2 || !optional) \
> -                goto cleanup; \
> +                return 0; \

Why are you returning success ^here?

With that changed:
Reviewed-by: Erik Skultety <eskultet at redhat.com>




More information about the libvir-list mailing list