More simplifications possible due to auto-indent. Also,
<bandwidth> within <actual> was only using 6 instead of 8 spaces.
* src/util/network.h (virVirtualPortProfileFormat)
(virBandwidthDefFormat): Alter signature.
* src/util/network.c (virVirtualPortProfileFormat)
(virBandwidthDefFormat): Alter indentation.
(virBandwidthChildDefFormat): Tweak to make use easier.
* src/conf/network_conf.c (virPortGroupDefFormat)
(virNetworkDefFormat): Adjust callers.
* src/conf/domain_conf.c (virDomainNetDefFormat): Likewise.
(virDomainActualNetDefFormat): Likewise, and fix bandwidth
indentation.
---
src/conf/domain_conf.c | 23 ++++++++++++++-------
src/conf/network_conf.c | 14 +++++++++---
src/util/network.c | 49 ++++++++++++++++------------------------------
src/util/network.h | 11 ++++-----
4 files changed, 47 insertions(+), 50 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 40b06f3..70201af 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -9415,15 +9415,18 @@ virDomainActualNetDefFormat(virBufferPtr buf,
return ret;
}
virBufferAsprintf(buf, " mode='%s'/>\n", mode);
- virVirtualPortProfileFormat(buf, def->data.direct.virtPortProfile,
- " ");
+ virBufferAdjustIndent(buf, 8);
+ virVirtualPortProfileFormat(buf, def->data.direct.virtPortProfile);
+ virBufferAdjustIndent(buf, -8);
break;
default:
break;
}
- if (virBandwidthDefFormat(buf, def->bandwidth, " ") < 0)
+ virBufferAdjustIndent(buf, 8);
+ if (virBandwidthDefFormat(buf, def->bandwidth) < 0)
goto error;
+ virBufferAdjustIndent(buf, -8);
virBufferAddLit(buf, " </actual>\n");
@@ -9462,8 +9465,9 @@ virDomainNetDefFormat(virBufferPtr buf,
def->data.network.portgroup);
}
virBufferAddLit(buf, "/>\n");
- virVirtualPortProfileFormat(buf, def->data.network.virtPortProfile,
- " ");
+ virBufferAdjustIndent(buf, 6);
+ virVirtualPortProfileFormat(buf, def->data.network.virtPortProfile);
+ virBufferAdjustIndent(buf, -6);
if ((flags & VIR_DOMAIN_XML_INTERNAL_ACTUAL_NET) &&
(virDomainActualNetDefFormat(buf, def->data.network.actual) < 0))
return -1;
@@ -9514,8 +9518,9 @@ virDomainNetDefFormat(virBufferPtr buf,
virBufferAsprintf(buf, " mode='%s'",
virMacvtapModeTypeToString(def->data.direct.mode));
virBufferAddLit(buf, "/>\n");
- virVirtualPortProfileFormat(buf, def->data.direct.virtPortProfile,
- " ");
+ virBufferAdjustIndent(buf, 6);
+ virVirtualPortProfileFormat(buf, def->data.direct.virtPortProfile);
+ virBufferAdjustIndent(buf, -6);
break;
case VIR_DOMAIN_NET_TYPE_USER:
@@ -9580,8 +9585,10 @@ virDomainNetDefFormat(virBufferPtr buf,
virBufferAsprintf(buf, " <link state='%s'/>\n",
virDomainNetInterfaceLinkStateTypeToString(def->linkstate));
- if (virBandwidthDefFormat(buf, def->bandwidth, " ") < 0)
+ virBufferAdjustIndent(buf, 6);
+ if (virBandwidthDefFormat(buf, def->bandwidth) < 0)
return -1;
+ virBufferAdjustIndent(buf, -6);
if (virDomainDeviceInfoFormat(buf, &def->info, flags) < 0)
return -1;
diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
index b98ffad..7bc2e2c 100644
--- a/src/conf/network_conf.c
+++ b/src/conf/network_conf.c
@@ -1267,8 +1267,10 @@ virPortGroupDefFormat(virBufferPtr buf,
virBufferAddLit(buf, " default='yes'");
}
virBufferAddLit(buf, ">\n");
- virVirtualPortProfileFormat(buf, def->virtPortProfile, " ");
- virBandwidthDefFormat(buf, def->bandwidth, " ");
+ virBufferAdjustIndent(buf, 4);
+ virVirtualPortProfileFormat(buf, def->virtPortProfile);
+ virBandwidthDefFormat(buf, def->bandwidth);
+ virBufferAdjustIndent(buf, -4);
virBufferAddLit(buf, " </portgroup>\n");
}
@@ -1341,15 +1343,19 @@ char *virNetworkDefFormat(const virNetworkDefPtr def)
if (virNetworkDNSDefFormat(&buf, def->dns) < 0)
goto error;
- if (virBandwidthDefFormat(&buf, def->bandwidth, " ") < 0)
+ virBufferAdjustIndent(&buf, 2);
+ if (virBandwidthDefFormat(&buf, def->bandwidth) < 0)
goto error;
+ virBufferAdjustIndent(&buf, -2);
for (ii = 0; ii < def->nips; ii++) {
if (virNetworkIpDefFormat(&buf, &def->ips[ii]) < 0)
goto error;
}
- virVirtualPortProfileFormat(&buf, def->virtPortProfile, " ");
+ virBufferAdjustIndent(&buf, 2);
+ virVirtualPortProfileFormat(&buf, def->virtPortProfile);
+ virBufferAdjustIndent(&buf, -2);
for (ii = 0; ii < def->nPortGroups; ii++)
virPortGroupDefFormat(&buf, &def->portGroups[ii]);
diff --git a/src/util/network.c b/src/util/network.c
index ee69557..edf9c50 100644
--- a/src/util/network.c
+++ b/src/util/network.c
@@ -881,16 +881,14 @@ virVirtualPortProfileEqual(virVirtualPortProfileParamsPtr a,
virVirtualPortProfi
void
virVirtualPortProfileFormat(virBufferPtr buf,
- virVirtualPortProfileParamsPtr virtPort,
- const char *indent)
+ virVirtualPortProfileParamsPtr virtPort)
{
char uuidstr[VIR_UUID_STRING_BUFLEN];
if (!virtPort || virtPort->virtPortType == VIR_VIRTUALPORT_NONE)
return;
- virBufferAsprintf(buf, "%s<virtualport type='%s'>\n",
- indent,
+ virBufferAsprintf(buf, "<virtualport type='%s'>\n",
virVirtualPortTypeToString(virtPort->virtPortType));
switch (virtPort->virtPortType) {
@@ -902,9 +900,8 @@ virVirtualPortProfileFormat(virBufferPtr buf,
virUUIDFormat(virtPort->u.virtPort8021Qbg.instanceID,
uuidstr);
virBufferAsprintf(buf,
- "%s <parameters managerid='%d'
typeid='%d' "
+ " <parameters managerid='%d'
typeid='%d' "
"typeidversion='%d'
instanceid='%s'/>\n",
- indent,
virtPort->u.virtPort8021Qbg.managerID,
virtPort->u.virtPort8021Qbg.typeID,
virtPort->u.virtPort8021Qbg.typeIDVersion,
@@ -913,13 +910,12 @@ virVirtualPortProfileFormat(virBufferPtr buf,
case VIR_VIRTUALPORT_8021QBH:
virBufferAsprintf(buf,
- "%s <parameters profileid='%s'/>\n",
- indent,
+ " <parameters profileid='%s'/>\n",
virtPort->u.virtPort8021Qbh.profileID);
break;
}
- virBufferAsprintf(buf, "%s</virtualport>\n", indent);
+ virBufferAddLit(buf, "</virtualport>\n");
}
static int
@@ -1074,11 +1070,14 @@ virBandwidthChildDefFormat(virBufferPtr buf,
virRatePtr def,
const char *elem_name)
{
- if (!buf || !def || !elem_name)
+ if (!buf || !elem_name)
return -1;
+ if (!def)
+ return 0;
if (def->average) {
- virBufferAsprintf(buf, "<%s average='%llu'", elem_name,
def->average);
+ virBufferAsprintf(buf, " <%s average='%llu'", elem_name,
+ def->average);
if (def->peak)
virBufferAsprintf(buf, " peak='%llu'", def->peak);
@@ -1095,17 +1094,15 @@ virBandwidthChildDefFormat(virBufferPtr buf,
* virBandwidthDefFormat:
* @buf: Buffer to print to
* @def: Data source
- * @indent: prepend all lines printed with this
*
* Formats bandwidth and prepend each line with @indent.
- * Passing NULL to @indent is equivalent passing "".
+ * @buf may use auto-indentation.
*
* Returns 0 on success, else -1.
*/
int
virBandwidthDefFormat(virBufferPtr buf,
- virBandwidthPtr def,
- const char *indent)
+ virBandwidthPtr def)
{
int ret = -1;
@@ -1117,23 +1114,11 @@ virBandwidthDefFormat(virBufferPtr buf,
goto cleanup;
}
- if (!indent)
- indent = "";
-
- virBufferAsprintf(buf, "%s<bandwidth>\n", indent);
- if (def->in) {
- virBufferAsprintf(buf, "%s ", indent);
- if (virBandwidthChildDefFormat(buf, def->in, "inbound") < 0)
- goto cleanup;
- }
-
- if (def->out) {
- virBufferAsprintf(buf, "%s ", indent);
- if (virBandwidthChildDefFormat(buf, def->out, "outbound") < 0)
- goto cleanup;
- }
-
- virBufferAsprintf(buf, "%s</bandwidth>\n", indent);
+ virBufferAddLit(buf, "<bandwidth>\n");
+ if (virBandwidthChildDefFormat(buf, def->in, "inbound") < 0 ||
+ virBandwidthChildDefFormat(buf, def->out, "outbound") < 0)
+ goto cleanup;
+ virBufferAddLit(buf, "</bandwidth>\n");
ret = 0;
diff --git a/src/util/network.h b/src/util/network.h
index 4d195af..552d5fd 100644
--- a/src/util/network.h
+++ b/src/util/network.h
@@ -1,7 +1,7 @@
/*
* network.h: network helper APIs for libvirt
*
- * Copyright (C) 2009-2009 Red Hat, Inc.
+ * Copyright (C) 2009-2009, 2011 Red Hat, Inc.
*
* See COPYING.LIB for the License of this software
*
@@ -147,16 +147,15 @@ virVirtualPortProfileParseXML(xmlNodePtr node,
virVirtualPortProfileParamsPtr *virtPort);
void
virVirtualPortProfileFormat(virBufferPtr buf,
- virVirtualPortProfileParamsPtr virtPort,
- const char *indent);
+ virVirtualPortProfileParamsPtr virtPort);
-bool virVirtualPortProfileEqual(virVirtualPortProfileParamsPtr a,
virVirtualPortProfileParamsPtr b);
+bool virVirtualPortProfileEqual(virVirtualPortProfileParamsPtr a,
+ virVirtualPortProfileParamsPtr b);
virBandwidthPtr virBandwidthDefParseNode(xmlNodePtr node);
void virBandwidthDefFree(virBandwidthPtr def);
int virBandwidthDefFormat(virBufferPtr buf,
- virBandwidthPtr def,
- const char *indent);
+ virBandwidthPtr def);
int virBandwidthEnable(virBandwidthPtr bandwidth, const char *iface);
int virBandwidthDisable(const char *iface, bool may_fail);
--
1.7.4.4