1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-07 17:28:15 +00:00

virfdstream: Use autoptr for virFDStreamMsg

A cleanup function can be declared for virFDStreamMsg type so
that the structure doesn't have to be freed explicitly.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Michal Privoznik 2020-07-07 13:32:50 +02:00
parent 211ea0d20c
commit fb27b7b9be

View File

@ -208,6 +208,8 @@ virFDStreamMsgFree(virFDStreamMsgPtr msg)
VIR_FREE(msg); VIR_FREE(msg);
} }
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virFDStreamMsg, virFDStreamMsgFree);
static void static void
virFDStreamMsgQueueFree(virFDStreamMsgPtr *queue) virFDStreamMsgQueueFree(virFDStreamMsgPtr *queue)
@ -428,7 +430,7 @@ virFDStreamThreadDoRead(virFDStreamDataPtr fdst,
size_t *dataLen, size_t *dataLen,
size_t buflen) size_t buflen)
{ {
virFDStreamMsgPtr msg = NULL; g_autoptr(virFDStreamMsg) msg = NULL;
int inData = 0; int inData = 0;
long long sectionLen = 0; long long sectionLen = 0;
g_autofree char *buf = NULL; g_autofree char *buf = NULL;
@ -494,7 +496,6 @@ virFDStreamThreadDoRead(virFDStreamDataPtr fdst,
return got; return got;
error: error:
virFDStreamMsgFree(msg);
return -1; return -1;
} }
@ -761,7 +762,7 @@ virFDStreamAbort(virStreamPtr st)
static int virFDStreamWrite(virStreamPtr st, const char *bytes, size_t nbytes) static int virFDStreamWrite(virStreamPtr st, const char *bytes, size_t nbytes)
{ {
virFDStreamDataPtr fdst = st->privateData; virFDStreamDataPtr fdst = st->privateData;
virFDStreamMsgPtr msg = NULL; g_autoptr(virFDStreamMsg) msg = NULL;
int ret = -1; int ret = -1;
if (nbytes > INT_MAX) { if (nbytes > INT_MAX) {
@ -838,7 +839,6 @@ static int virFDStreamWrite(virStreamPtr st, const char *bytes, size_t nbytes)
cleanup: cleanup:
virObjectUnlock(fdst); virObjectUnlock(fdst);
virFDStreamMsgFree(msg);
return ret; return ret;
} }
@ -960,7 +960,7 @@ virFDStreamSendHole(virStreamPtr st,
unsigned int flags) unsigned int flags)
{ {
virFDStreamDataPtr fdst = st->privateData; virFDStreamDataPtr fdst = st->privateData;
virFDStreamMsgPtr msg = NULL; g_autoptr(virFDStreamMsg) msg = NULL;
off_t off; off_t off;
int ret = -1; int ret = -1;
@ -1028,7 +1028,6 @@ virFDStreamSendHole(virStreamPtr st,
ret = 0; ret = 0;
cleanup: cleanup:
virObjectUnlock(fdst); virObjectUnlock(fdst);
virFDStreamMsgFree(msg);
return ret; return ret;
} }