[libvirt] [PATCH 02/18] conf: use a separate buffer for the subelements of

2017-05-30 Thread Ján Tomko
We need to decide whether to format  as a single tag
or if it has any subelements.

Rewrite the function to use a separate buffer for subelements,
to make adding new options easier.
---
 src/conf/domain_conf.c | 36 +++-
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 318e254..fe0eaf2 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -21397,6 +21397,9 @@ virDomainControllerDefFormat(virBufferPtr buf,
 const char *model = NULL;
 const char *modelName = NULL;
 bool pcihole64 = false, pciModel = false, pciTarget = false;
+virBuffer childBuf = VIR_BUFFER_INITIALIZER;
+
+virBufferAdjustIndent(&childBuf, virBufferGetIndent(buf, false) + 2);
 
 if (!type) {
 virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -21462,7 +21465,6 @@ virDomainControllerDefFormat(virBufferPtr buf,
 def->iothread ||
 virDomainDeviceInfoNeedsFormat(&def->info, flags) || pcihole64) {
 virBufferAddLit(buf, ">\n");
-virBufferAdjustIndent(buf, 2);
 
 if (pciModel) {
 modelName = 
virDomainControllerPCIModelNameTypeToString(def->opts.pciopts.modelName);
@@ -21472,47 +21474,47 @@ virDomainControllerDefFormat(virBufferPtr buf,
def->opts.pciopts.modelName);
 return -1;
 }
-virBufferAsprintf(buf, "\n", modelName);
+virBufferAsprintf(&childBuf, "\n", modelName);
 }
 
 if (pciTarget) {
-virBufferAddLit(buf, "opts.pciopts.chassisNr != -1)
-virBufferAsprintf(buf, " chassisNr='%d'",
+virBufferAsprintf(&childBuf, " chassisNr='%d'",
   def->opts.pciopts.chassisNr);
 if (def->opts.pciopts.chassis != -1)
-virBufferAsprintf(buf, " chassis='%d'",
+virBufferAsprintf(&childBuf, " chassis='%d'",
   def->opts.pciopts.chassis);
 if (def->opts.pciopts.port != -1)
-virBufferAsprintf(buf, " port='0x%x'",
+virBufferAsprintf(&childBuf, " port='0x%x'",
   def->opts.pciopts.port);
 if (def->opts.pciopts.busNr != -1)
-virBufferAsprintf(buf, " busNr='%d'",
+virBufferAsprintf(&childBuf, " busNr='%d'",
   def->opts.pciopts.busNr);
 if (def->opts.pciopts.numaNode == -1) {
-virBufferAddLit(buf, "/>\n");
+virBufferAddLit(&childBuf, "/>\n");
 } else {
-virBufferAddLit(buf, ">\n");
-virBufferAdjustIndent(buf, 2);
-virBufferAsprintf(buf, "%d\n",
+virBufferAddLit(&childBuf, ">\n");
+virBufferAdjustIndent(&childBuf, 2);
+virBufferAsprintf(&childBuf, "%d\n",
   def->opts.pciopts.numaNode);
-virBufferAdjustIndent(buf, -2);
-virBufferAddLit(buf, "\n");
+virBufferAdjustIndent(&childBuf, -2);
+virBufferAddLit(&childBuf, "\n");
 }
 }
 
-virDomainControllerDriverFormat(buf, def);
+virDomainControllerDriverFormat(&childBuf, def);
 
 if (virDomainDeviceInfoNeedsFormat(&def->info, flags) &&
-virDomainDeviceInfoFormat(buf, &def->info, flags) < 0)
+virDomainDeviceInfoFormat(&childBuf, &def->info, flags) < 0)
 return -1;
 
 if (pcihole64) {
-virBufferAsprintf(buf, "%lu%lu\n", def->opts.pciopts.pcihole64size);
 }
 
-virBufferAdjustIndent(buf, -2);
+virBufferAddBuffer(buf, &childBuf);
 virBufferAddLit(buf, "\n");
 } else {
 virBufferAddLit(buf, "/>\n");
-- 
2.10.2

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [PATCH 02/18] conf: use a separate buffer for the subelements of

2017-06-03 Thread Pavel Hrdina
On Tue, May 30, 2017 at 02:50:25PM +0200, Ján Tomko wrote:
> We need to decide whether to format  as a single tag
> or if it has any subelements.
> 
> Rewrite the function to use a separate buffer for subelements,
> to make adding new options easier.
> ---
>  src/conf/domain_conf.c | 36 +++-
>  1 file changed, 19 insertions(+), 17 deletions(-)

Reviewed-by: Pavel Hrdina 


signature.asc
Description: Digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list