On 05/26/2010 10:30 AM, Matthias Bolte wrote:
> Eliminate almost all backward jumps by replacing this common pattern:
>
> int
> some_random_function(void)
> {
> int result = 0;
> ...
>
> cleanup:
> <unconditional cleanup code>
> return result;
>
> failure:
> <cleanup code in case of an error>
> result = -1;
> goto cleanup
> }
>
> with this simpler pattern:
>
> int
> some_random_function(void)
> {
> int result = -1;
> ...
> result = 0;
>
> cleanup:
> if (result < 0) {
> <cleanup code in case of an error>
> }
>
> <unconditional cleanup code>
> return result;
> }
Mostly mechanical, according to that pattern.
> @@ -1786,21 +1733,17 @@ esxDomainGetInfo(virDomainPtr domain,
> virDomainInfoPtr info)
> esxVI_LookupVirtualMachineByUuid(priv->host, domain->uuid,
> propertyNameList, &virtualMachine,
> esxVI_Occurrence_RequiredItem) < 0)
> {
> - goto failure;
> + goto cleanup;
> }
>
> info->state = VIR_DOMAIN_NOSTATE;
> - info->maxMem = 0;
> - info->memory = 0;
> - info->nrVirtCpu = 0;
> - info->cpuTime = 0; /* FIXME */
I didn't quite follow this deletion just from the patch itself; are
these values not valid if info->state is VIR_DOMAIN_NOSTATE?
> @@ -2219,6 +2158,10 @@ esxDomainDumpXML(virDomainPtr domain, int flags)
> }
>
> cleanup:
> + if (url == NULL) {
> + virBufferFreeAndReset(&buffer);
> + }
> +
> esxVI_String_Free(&propertyNameList);
> esxVI_ObjectContent_Free(&virtualMachine);
> VIR_FREE(datastoreName);
> @@ -2229,12 +2172,6 @@ esxDomainDumpXML(virDomainPtr domain, int flags)
> virDomainDefFree(def);
>
> return xml;
> -
> - failure:
> - virBufferFreeAndReset(&buffer);
> - VIR_FREE(xml);
Did we lose a VIR_FREE(xml) on this conversion? Or can we guarantee
that xml is NULL if url is NULL?
ACK, assuming you can either answer those questions or tweak the code to
fix them.
--
Eric Blake [email protected] +1-801-349-2682
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
