util: socketaddr: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC

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.

When a variable of type virSocketAddrPtr is declared using
VIR_AUTOPTR, the function virSocketAddrFree will be run
automatically on it when it goes out of scope.

Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
Sukrit Bhatnagar 2018-07-28 23:31:23 +05:30 committed by Erik Skultety
parent d090c814ab
commit 0b25749709
2 changed files with 5 additions and 3 deletions

View File

@ -26,7 +26,6 @@
#include "virsocketaddr.h"
#include "virerror.h"
#include "virstring.h"
#include "viralloc.h"
#include "virbuffer.h"
#include <netdb.h>

View File

@ -24,14 +24,15 @@
#ifndef __VIR_SOCKETADDR_H__
# define __VIR_SOCKETADDR_H__
# include "internal.h"
# include <netinet/in.h>
# include <sys/socket.h>
# ifdef HAVE_SYS_UN_H
# include <sys/un.h>
# endif
# include "internal.h"
# include "viralloc.h"
/* On architectures which lack these limits, define them (ie. Cygwin).
* Note that the libvirt code should be robust enough to handle the
* case where actual value is longer than these limits (eg. by setting
@ -164,4 +165,6 @@ int virSocketAddrPTRDomain(const virSocketAddr *addr,
void virSocketAddrFree(virSocketAddrPtr addr);
VIR_DEFINE_AUTOPTR_FUNC(virSocketAddr, virSocketAddrFree)
#endif /* __VIR_SOCKETADDR_H__ */