[libvirt] [PATCHv2 3/3] conf: Refactor virDomainDiskSourceDefParse
Ján Tomko
jtomko at redhat.com
Thu Nov 7 15:57:27 UTC 2013
On 11/07/2013 11:16 AM, Peter Krempa wrote:
> Now that the function is separate clean out a few ugly places and fix up
> error messages.
> ---
>
> Notes:
> Version 2:
> - rebased to changes in 1/3 of this series
>
> src/conf/domain_conf.c | 119 ++++++++++++++++++++++++-------------------------
> 1 file changed, 59 insertions(+), 60 deletions(-)
>
> VIR_FREE(transport);
> - if (hosts[nhosts - 1].transport != VIR_DOMAIN_DISK_PROTO_TRANS_UNIX) {
> - hosts[nhosts - 1].name = virXMLPropString(child, "name");
> - if (!hosts[nhosts - 1].name) {
> - virReportError(VIR_ERR_XML_ERROR,
> - "%s", _("missing name for host"));
> - goto error;
> +
> + if (host.transport != VIR_DOMAIN_DISK_PROTO_TRANS_UNIX) {
> + if (!(host.name = virXMLPropString(child, "name"))) {
> + virReportError(VIR_ERR_XML_ERROR, "%s",
> + _("missing name for host"));
> + goto cleanup;
> }
> - hosts[nhosts - 1].port = virXMLPropString(child, "port");
> +
> + host.port = virXMLPropString(child, "port");
> }
> +
> + if (VIR_APPEND_ELEMENT(*hosts, *nhosts, host))
if (VIR_APPEND_ELEMENT(..) < 0) would look clearer.
> + goto cleanup;
> }
> child = child->next;
> }
> break;
ACK with the following code dropped:
> error:
> - VIR_FREE(protocol);
> - VIR_FREE(transport);
> - while (nhosts > 0) {
> + while (nhosts > 0) {
> virDomainDiskHostDefClear(&hosts[nhosts - 1]);
> nhosts--;
> }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20131107/64d3545d/attachment-0001.sig>
More information about the libvir-list
mailing list