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:
parent
211ea0d20c
commit
fb27b7b9be
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user