On Thu, Aug 09, 2018 at 09:42:10AM +0530, Sukrit Bhatnagar wrote: > Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in > src/util/viralloc.h, define a new wrapper around an existing > cleanup function which will be called when a variable declared > with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant > viralloc.h include, since that has moved from the source module into > the header. > > This commit also typedefs virNlMsg to struct nl_msg type for use > with the cleanup macros. > > When a variable of type virNlMsg * is declared using VIR_AUTOPTR, > the function nlmsg_free will be run automatically on it when it > goes out of scope. > > Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@xxxxxxxxx> > --- > src/util/virnetlink.c | 1 - > src/util/virnetlink.h | 5 +++++ > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c > index 162efe6..ecf62c9 100644 > --- a/src/util/virnetlink.c > +++ b/src/util/virnetlink.c > @@ -38,7 +38,6 @@ > #include "virnetlink.h" > #include "virnetdev.h" > #include "virlog.h" > -#include "viralloc.h" > #include "virthread.h" > #include "virmacaddr.h" > #include "virerror.h" > diff --git a/src/util/virnetlink.h b/src/util/virnetlink.h > index 2a9de0a..8ebeab8 100644 > --- a/src/util/virnetlink.h > +++ b/src/util/virnetlink.h > @@ -22,6 +22,7 @@ > > # include "internal.h" > # include "virmacaddr.h" > +# include "viralloc.h" > > # if defined(__linux__) && defined(HAVE_LIBNL) > > @@ -44,6 +45,8 @@ struct nlmsghdr; > > # endif /* __linux__ */ > > +typedef struct nl_msg virNlMsg; Since the name of the module is virNetlink, I'll rename this to virNetlinkMsg and tweak all the affected places across the whole series. Reviewed-by: Erik Skultety <eskultet@xxxxxxxxxx> > + > int virNetlinkStartup(void); > void virNetlinkShutdown(void); > > @@ -123,4 +126,6 @@ int virNetlinkEventAddClient(virNetlinkEventHandleCallback handleCB, > int virNetlinkEventRemoveClient(int watch, const virMacAddr *macaddr, > unsigned int protocol); > > +VIR_DEFINE_AUTOPTR_FUNC(virNlMsg, nlmsg_free) > + > #endif /* __VIR_NETLINK_H__ */ > -- > 1.8.3.1 > > -- > libvir-list mailing list > libvir-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/libvir-list -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list