[libvirt] [PATCHv2 7/9] conf: simplify Buffer Indentation in virDomainNetDefFormat

Kyle Mestery (kmestery) kmestery at cisco.com
Tue Aug 14 13:29:56 UTC 2012


This looks good to me.

Acked-by: Kyle Mestery <kmestery at cisco.com>

On Aug 14, 2012, at 2:04 AM, Laine Stump wrote:

> This function has several calls to increase the buffer indent by 6,
> then decrease it again, then increase, then decrease. Additionally,
> there were several printfs that had 6 spaces at the beginning of the
> line.
> 
> virDomainActualNetDefFormat, which is called by virDomainNetDefFormat,
> had similar ugliness.
> 
> This patch changes both functions to just increase the indent at the
> beginning, decrease it at (well, just before*) the end, and remove all
> of the occurences of 6/8 spaces at the beginning of lines.
> 
> *The indent had to be reset before the end of the function because
> virDomainDeviceInfoFormat assumes a 0 indent and is called from many
> other places, and I didn't want to do an overhaul of every caller of
> that function. A separate patch to switch all of domain_conf.c would
> be a useful exercise, but my current goal is unrelated to that, so
> I'll leave it for another day.
> ---
> src/conf/domain_conf.c | 73 +++++++++++++++++++++++---------------------------
> 1 file changed, 33 insertions(+), 40 deletions(-)
> 
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 5990634..8f1f244 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -11560,21 +11560,22 @@ virDomainActualNetDefFormat(virBufferPtr buf,
>         return -1;
>     }
> 
> -    virBufferAsprintf(buf, "      <actual type='%s'", type);
> +    virBufferAsprintf(buf, "<actual type='%s'", type);
>     if (def->type == VIR_DOMAIN_NET_TYPE_HOSTDEV &&
>         def->data.hostdev.def.managed) {
>         virBufferAddLit(buf, " managed='yes'");
>     }
>     virBufferAddLit(buf, ">\n");
> 
> +    virBufferAdjustIndent(buf, 2);
>     switch (def->type) {
>     case VIR_DOMAIN_NET_TYPE_BRIDGE:
> -        virBufferEscapeString(buf, "        <source bridge='%s'/>\n",
> +        virBufferEscapeString(buf, "<source bridge='%s'/>\n",
>                               def->data.bridge.brname);
>         break;
> 
>     case VIR_DOMAIN_NET_TYPE_DIRECT:
> -        virBufferAddLit(buf, "        <source");
> +        virBufferAddLit(buf, "<source");
>         if (def->data.direct.linkdev)
>             virBufferEscapeString(buf, " dev='%s'",
>                                   def->data.direct.linkdev);
> @@ -11590,12 +11591,10 @@ virDomainActualNetDefFormat(virBufferPtr buf,
>         break;
> 
>     case VIR_DOMAIN_NET_TYPE_HOSTDEV:
> -        virBufferAdjustIndent(buf, 8);
>         if (virDomainHostdevSourceFormat(buf, &def->data.hostdev.def,
>                                          flags, true) < 0) {
>             return -1;
>         }
> -        virBufferAdjustIndent(buf, -8);
>         break;
> 
>     case VIR_DOMAIN_NET_TYPE_NETWORK:
> @@ -11606,14 +11605,13 @@ virDomainActualNetDefFormat(virBufferPtr buf,
>         return -1;
>     }
> 
> -    virBufferAdjustIndent(buf, 8);
>     if (virNetDevVPortProfileFormat(def->virtPortProfile, buf) < 0)
>        return -1;
>     if (virNetDevBandwidthFormat(def->bandwidth, buf) < 0)
>         return -1;
> -    virBufferAdjustIndent(buf, -8);
> 
> -    virBufferAddLit(buf, "      </actual>\n");
> +    virBufferAdjustIndent(buf, -2);
> +    virBufferAddLit(buf, "</actual>\n");
>     return 0;
> }
> 
> @@ -11637,14 +11635,15 @@ virDomainNetDefFormat(virBufferPtr buf,
>     }
>     virBufferAddLit(buf, ">\n");
> 
> +    virBufferAdjustIndent(buf, 6);
>     virBufferAsprintf(buf,
> -                      "      <mac address='%02x:%02x:%02x:%02x:%02x:%02x'/>\n",
> +                      "<mac address='%02x:%02x:%02x:%02x:%02x:%02x'/>\n",
>                       def->mac.addr[0], def->mac.addr[1], def->mac.addr[2],
>                       def->mac.addr[3], def->mac.addr[4], def->mac.addr[5]);
> 
>     switch (def->type) {
>     case VIR_DOMAIN_NET_TYPE_NETWORK:
> -        virBufferEscapeString(buf, "      <source network='%s'",
> +        virBufferEscapeString(buf, "<source network='%s'",
>                               def->data.network.name);
>         virBufferEscapeString(buf, " portgroup='%s'",
>                               def->data.network.portgroup);
> @@ -11655,39 +11654,41 @@ virDomainNetDefFormat(virBufferPtr buf,
>         break;
> 
>     case VIR_DOMAIN_NET_TYPE_ETHERNET:
> -        virBufferEscapeString(buf, "      <source dev='%s'/>\n",
> +        virBufferEscapeString(buf, "<source dev='%s'/>\n",
>                               def->data.ethernet.dev);
>         if (def->data.ethernet.ipaddr)
> -            virBufferAsprintf(buf, "      <ip address='%s'/>\n",
> +            virBufferAsprintf(buf, "<ip address='%s'/>\n",
>                               def->data.ethernet.ipaddr);
>         break;
> 
>     case VIR_DOMAIN_NET_TYPE_BRIDGE:
> -        virBufferEscapeString(buf, "      <source bridge='%s'/>\n",
> +        virBufferEscapeString(buf, "<source bridge='%s'/>\n",
>                               def->data.bridge.brname);
> -        if (def->data.bridge.ipaddr)
> -            virBufferAsprintf(buf, "      <ip address='%s'/>\n",
> +        if (def->data.bridge.ipaddr) {
> +            virBufferAsprintf(buf, "<ip address='%s'/>\n",
>                               def->data.bridge.ipaddr);
> +        }
>         break;
> 
>     case VIR_DOMAIN_NET_TYPE_SERVER:
>     case VIR_DOMAIN_NET_TYPE_CLIENT:
>     case VIR_DOMAIN_NET_TYPE_MCAST:
> -        if (def->data.socket.address)
> -            virBufferAsprintf(buf, "      <source address='%s' port='%d'/>\n",
> +        if (def->data.socket.address) {
> +            virBufferAsprintf(buf, "<source address='%s' port='%d'/>\n",
>                               def->data.socket.address, def->data.socket.port);
> -        else
> -            virBufferAsprintf(buf, "      <source port='%d'/>\n",
> +        } else {
> +            virBufferAsprintf(buf, "<source port='%d'/>\n",
>                               def->data.socket.port);
> +        }
>         break;
> 
>     case VIR_DOMAIN_NET_TYPE_INTERNAL:
> -        virBufferEscapeString(buf, "      <source name='%s'/>\n",
> +        virBufferEscapeString(buf, "<source name='%s'/>\n",
>                               def->data.internal.name);
>         break;
> 
>     case VIR_DOMAIN_NET_TYPE_DIRECT:
> -        virBufferEscapeString(buf, "      <source dev='%s'",
> +        virBufferEscapeString(buf, "<source dev='%s'",
>                               def->data.direct.linkdev);
>         virBufferAsprintf(buf, " mode='%s'",
>                           virNetDevMacVLanModeTypeToString(def->data.direct.mode));
> @@ -11695,12 +11696,10 @@ virDomainNetDefFormat(virBufferPtr buf,
>         break;
> 
>     case VIR_DOMAIN_NET_TYPE_HOSTDEV:
> -        virBufferAdjustIndent(buf, 6);
>         if (virDomainHostdevSourceFormat(buf, &def->data.hostdev.def,
>                                          flags, true) < 0) {
>             return -1;
>         }
> -        virBufferAdjustIndent(buf, -6);
>         break;
> 
>     case VIR_DOMAIN_NET_TYPE_USER:
> @@ -11708,26 +11707,22 @@ virDomainNetDefFormat(virBufferPtr buf,
>         break;
>     }
> 
> -    virBufferAdjustIndent(buf, 6);
>     if (virNetDevVPortProfileFormat(def->virtPortProfile, buf) < 0)
>        return -1;
> -    virBufferAdjustIndent(buf, -6);
> -
> -    virBufferEscapeString(buf, "      <script path='%s'/>\n",
> +    virBufferEscapeString(buf, "<script path='%s'/>\n",
>                           def->script);
>     if (def->ifname &&
>         !((flags & VIR_DOMAIN_XML_INACTIVE) &&
>           (STRPREFIX(def->ifname, VIR_NET_GENERATED_PREFIX)))) {
>         /* Skip auto-generated target names for inactive config. */
> -        virBufferEscapeString(buf, "      <target dev='%s'/>\n",
> -                              def->ifname);
> +        virBufferEscapeString(buf, "<target dev='%s'/>\n", def->ifname);
>     }
>     if (def->model) {
> -        virBufferEscapeString(buf, "      <model type='%s'/>\n",
> +        virBufferEscapeString(buf, "<model type='%s'/>\n",
>                               def->model);
>         if (STREQ(def->model, "virtio") &&
>             (def->driver.virtio.name || def->driver.virtio.txmode)) {
> -            virBufferAddLit(buf, "      <driver");
> +            virBufferAddLit(buf, "<driver");
>             if (def->driver.virtio.name) {
>                 virBufferAsprintf(buf, " name='%s'",
>                                   virDomainNetBackendTypeToString(def->driver.virtio.name));
> @@ -11748,27 +11743,25 @@ virDomainNetDefFormat(virBufferPtr buf,
>         }
>     }
>     if (def->filter) {
> -        virBufferAdjustIndent(buf, 6);
>         if (virNWFilterFormatParamAttributes(buf, def->filterparams,
>                                              def->filter) < 0)
>             return -1;
> -        virBufferAdjustIndent(buf, -6);
>     }
> 
>     if (def->tune.sndbuf_specified) {
> -        virBufferAddLit(buf,   "      <tune>\n");
> -        virBufferAsprintf(buf, "        <sndbuf>%lu</sndbuf>\n",
> -                          def->tune.sndbuf);
> -        virBufferAddLit(buf,   "      </tune>\n");
> +        virBufferAddLit(buf,   "<tune>\n");
> +        virBufferAsprintf(buf, "  <sndbuf>%lu</sndbuf>\n", def->tune.sndbuf);
> +        virBufferAddLit(buf,   "</tune>\n");
>     }
> 
> -    if (def->linkstate)
> -        virBufferAsprintf(buf, "      <link state='%s'/>\n",
> +    if (def->linkstate) {
> +        virBufferAsprintf(buf, "<link state='%s'/>\n",
>                           virDomainNetInterfaceLinkStateTypeToString(def->linkstate));
> +    }
> 
> -    virBufferAdjustIndent(buf, 6);
>     if (virNetDevBandwidthFormat(def->bandwidth, buf) < 0)
>         return -1;
> +
>     virBufferAdjustIndent(buf, -6);
> 
>     if (virDomainDeviceInfoFormat(buf, &def->info,
> -- 
> 1.7.11.2
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list





More information about the libvir-list mailing list