On Wed, Apr 8, 2020 at 11:37 PM Jonathon Jongsma <jjongsma@xxxxxxxxxx> wrote: > > On Fri, 2020-04-03 at 17:15 +0200, Rafael Fonseca wrote: > > @@ -482,14 +495,14 @@ virNetworkFinalize(GObject *obj) > > * @uuid: pointer to the uuid > > * > > * Allocates a new network port object. When the object is no longer > > needed, > > - * virObjectUnref() must be called in order to not leak data. > > + * g_object_unref() must be called in order to not leak data. > > * > > * Returns a pointer to the network port object, or NULL on error. > > */ > > virNetworkPortPtr > > virGetNetworkPort(virNetworkPtr net, const unsigned char *uuid) > > { > > - virNetworkPortPtr ret = NULL; > > + g_autoptr(virNetworkPort) ret = NULL; > > > > if (virDataTypesInitialize() < 0) > > return NULL; > > @@ -497,21 +510,19 @@ virGetNetworkPort(virNetworkPtr net, const > > unsigned char *uuid) > > virCheckNetworkGoto(net, error); > > virCheckNonNullArgGoto(uuid, error); > > > > - if (!(ret = virObjectNew(virNetworkPortClass))) > > - goto error; > > + ret = VIR_NETWORK_PORT(g_object_new(VIR_TYPE_NETWORK_PORT, > > NULL)); > > > > ret->net = g_object_ref(net); > > memcpy(&(ret->uuid[0]), uuid, VIR_UUID_BUFLEN); > > > > - return ret; > > + return g_steal_pointer(&ret); > > > > error: > > - virObjectUnref(ret); > > return NULL; > > } > > As far as I can tell, you removed the only 'goto error' statement from > this function, so the error: label can be removed completely. Not really because of the virCheckNetworkGoto and virCheckNonNullArgGoto macros. However, I can change them 's/Goto/Return/' so thanks for pointing that out. Att. -- Rafael Fonseca