[libvirt] [PATCH 6/9] conf: eliminate hardcoded indentation in capabilities xml

Laine Stump laine at laine.org
Thu Mar 6 15:24:29 UTC 2014


There were a lot of changes here, but all very mechanical. For some
reason, the virBufferPtr had been named "xml" instead of "buf" in this
file, so since the indentation changing touched almost every line
using the buffer, I took this chance to change its name for "buf" for
consistency with every other file.
---
 src/conf/capabilities.c | 183 +++++++++++++++++++++++++++---------------------
 1 file changed, 103 insertions(+), 80 deletions(-)

diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c
index c1c4ab8..3022b45 100644
--- a/src/conf/capabilities.c
+++ b/src/conf/capabilities.c
@@ -1,7 +1,7 @@
 /*
  * capabilities.c: hypervisor capabilities
  *
- * Copyright (C) 2006-2008, 2010-2011, 2013 Red Hat, Inc.
+ * Copyright (C) 2006-2014 Red Hat, Inc.
  * Copyright (C) 2006-2008 Daniel P. Berrange
  *
  * This library is free software; you can redistribute it and/or
@@ -745,7 +745,7 @@ virCapabilitiesDefaultGuestEmulator(virCapsPtr caps,
 }
 
 static int
-virCapabilitiesFormatNUMATopology(virBufferPtr xml,
+virCapabilitiesFormatNUMATopology(virBufferPtr buf,
                                   size_t ncells,
                                   virCapsHostNUMACellPtr *cells)
 {
@@ -753,21 +753,23 @@ virCapabilitiesFormatNUMATopology(virBufferPtr xml,
     size_t j;
     char *siblings;
 
-    virBufferAddLit(xml, "    <topology>\n");
-    virBufferAsprintf(xml, "      <cells num='%zu'>\n", ncells);
+    virBufferAddLit(buf, "<topology>\n");
+    virBufferAdjustIndent(buf, 2);
+    virBufferAsprintf(buf, "<cells num='%zu'>\n", ncells);
+    virBufferAdjustIndent(buf, 2);
     for (i = 0; i < ncells; i++) {
-        virBufferAsprintf(xml, "        <cell id='%d'>\n", cells[i]->num);
+        virBufferAsprintf(buf, "<cell id='%d'>\n", cells[i]->num);
+        virBufferAdjustIndent(buf, 2);
 
         /* Print out the numacell memory total if it is available */
         if (cells[i]->mem)
-            virBufferAsprintf(xml,
-                              "          <memory unit='KiB'>%llu</memory>\n",
+            virBufferAsprintf(buf, "<memory unit='KiB'>%llu</memory>\n",
                               cells[i]->mem);
 
-        virBufferAsprintf(xml, "          <cpus num='%d'>\n", cells[i]->ncpus);
+        virBufferAsprintf(buf, "<cpus num='%d'>\n", cells[i]->ncpus);
+        virBufferAdjustIndent(buf, 2);
         for (j = 0; j < cells[i]->ncpus; j++) {
-            virBufferAsprintf(xml, "            <cpu id='%d'",
-                              cells[i]->cpus[j].id);
+            virBufferAsprintf(buf, "<cpu id='%d'", cells[i]->cpus[j].id);
 
             if (cells[i]->cpus[j].siblings) {
                 if (!(siblings = virBitmapFormat(cells[i]->cpus[j].siblings))) {
@@ -775,22 +777,24 @@ virCapabilitiesFormatNUMATopology(virBufferPtr xml,
                     return -1;
                 }
 
-                virBufferAsprintf(xml,
+                virBufferAsprintf(buf,
                                   " socket_id='%d' core_id='%d' siblings='%s'",
                                   cells[i]->cpus[j].socket_id,
                                   cells[i]->cpus[j].core_id,
                                   siblings);
                 VIR_FREE(siblings);
             }
-            virBufferAddLit(xml, "/>\n");
+            virBufferAddLit(buf, "/>\n");
         }
-
-        virBufferAddLit(xml, "          </cpus>\n");
-        virBufferAddLit(xml, "        </cell>\n");
+        virBufferAdjustIndent(buf, -2);
+        virBufferAddLit(buf, "</cpus>\n");
+        virBufferAdjustIndent(buf, -2);
+        virBufferAddLit(buf, "</cell>\n");
     }
-    virBufferAddLit(xml, "      </cells>\n");
-    virBufferAddLit(xml, "    </topology>\n");
-
+    virBufferAdjustIndent(buf, -2);
+    virBufferAddLit(buf, "</cells>\n");
+    virBufferAdjustIndent(buf, -2);
+    virBufferAddLit(buf, "</topology>\n");
     return 0;
 }
 
@@ -805,142 +809,160 @@ virCapabilitiesFormatNUMATopology(virBufferPtr xml,
 char *
 virCapabilitiesFormatXML(virCapsPtr caps)
 {
-    virBuffer xml = VIR_BUFFER_INITIALIZER;
+    virBuffer buf = VIR_BUFFER_INITIALIZER;
     size_t i, j, k;
     char host_uuid[VIR_UUID_STRING_BUFLEN];
 
-    virBufferAddLit(&xml, "<capabilities>\n\n");
-    virBufferAddLit(&xml, "  <host>\n");
+    virBufferAddLit(&buf, "<capabilities>\n\n");
+    virBufferAdjustIndent(&buf, 2);
+    virBufferAddLit(&buf, "<host>\n");
+    virBufferAdjustIndent(&buf, 2);
     if (virUUIDIsValid(caps->host.host_uuid)) {
         virUUIDFormat(caps->host.host_uuid, host_uuid);
-        virBufferAsprintf(&xml, "    <uuid>%s</uuid>\n", host_uuid);
+        virBufferAsprintf(&buf, "<uuid>%s</uuid>\n", host_uuid);
     }
-    virBufferAddLit(&xml, "    <cpu>\n");
+    virBufferAddLit(&buf, "<cpu>\n");
+    virBufferAdjustIndent(&buf, 2);
+
     if (caps->host.arch)
-        virBufferAsprintf(&xml, "      <arch>%s</arch>\n",
+        virBufferAsprintf(&buf, "<arch>%s</arch>\n",
                           virArchToString(caps->host.arch));
-
     if (caps->host.nfeatures) {
-        virBufferAddLit(&xml, "      <features>\n");
+        virBufferAddLit(&buf, "<features>\n");
+        virBufferAdjustIndent(&buf, 2);
         for (i = 0; i < caps->host.nfeatures; i++) {
-            virBufferAsprintf(&xml, "        <%s/>\n",
+            virBufferAsprintf(&buf, "<%s/>\n",
                               caps->host.features[i]);
         }
-        virBufferAddLit(&xml, "      </features>\n");
+        virBufferAdjustIndent(&buf, -2);
+        virBufferAddLit(&buf, "</features>\n");
     }
+    virCPUDefFormatBuf(&buf, caps->host.cpu, 0);
 
-    virBufferAdjustIndent(&xml, 6);
-    virCPUDefFormatBuf(&xml, caps->host.cpu, 0);
-    virBufferAdjustIndent(&xml, -6);
-
-    virBufferAddLit(&xml, "    </cpu>\n");
+    virBufferAdjustIndent(&buf, -2);
+    virBufferAddLit(&buf, "</cpu>\n");
 
     /* The PM query was successful. */
     if (caps->host.powerMgmt) {
         /* The host supports some PM features. */
         unsigned int pm = caps->host.powerMgmt;
-        virBufferAddLit(&xml, "    <power_management>\n");
+        virBufferAddLit(&buf, "<power_management>\n");
+        virBufferAdjustIndent(&buf, 2);
         while (pm) {
             int bit = ffs(pm) - 1;
-            virBufferAsprintf(&xml, "      <%s/>\n",
+            virBufferAsprintf(&buf, "<%s/>\n",
                               virCapsHostPMTargetTypeToString(bit));
             pm &= ~(1U << bit);
         }
-        virBufferAddLit(&xml, "    </power_management>\n");
+        virBufferAdjustIndent(&buf, -2);
+        virBufferAddLit(&buf, "</power_management>\n");
     } else {
         /* The host does not support any PM feature. */
-        virBufferAddLit(&xml, "    <power_management/>\n");
+        virBufferAddLit(&buf, "<power_management/>\n");
     }
 
     if (caps->host.offlineMigrate) {
-        virBufferAddLit(&xml, "    <migration_features>\n");
+        virBufferAddLit(&buf, "<migration_features>\n");
+        virBufferAdjustIndent(&buf, 2);
         if (caps->host.liveMigrate)
-            virBufferAddLit(&xml, "      <live/>\n");
+            virBufferAddLit(&buf, "<live/>\n");
         if (caps->host.nmigrateTrans) {
-            virBufferAddLit(&xml, "      <uri_transports>\n");
+            virBufferAddLit(&buf, "<uri_transports>\n");
+            virBufferAdjustIndent(&buf, 2);
             for (i = 0; i < caps->host.nmigrateTrans; i++) {
-                virBufferAsprintf(&xml, "        <uri_transport>%s</uri_transport>\n",
+                virBufferAsprintf(&buf, "<uri_transport>%s</uri_transport>\n",
                                       caps->host.migrateTrans[i]);
             }
-            virBufferAddLit(&xml, "      </uri_transports>\n");
+            virBufferAdjustIndent(&buf, -2);
+            virBufferAddLit(&buf, "</uri_transports>\n");
         }
-        virBufferAddLit(&xml, "    </migration_features>\n");
+        virBufferAdjustIndent(&buf, -2);
+        virBufferAddLit(&buf, "</migration_features>\n");
     }
 
     if (caps->host.nnumaCell &&
-        virCapabilitiesFormatNUMATopology(&xml, caps->host.nnumaCell,
+        virCapabilitiesFormatNUMATopology(&buf, caps->host.nnumaCell,
                                           caps->host.numaCell) < 0)
         return NULL;
 
     for (i = 0; i < caps->host.nsecModels; i++) {
-        virBufferAddLit(&xml, "    <secmodel>\n");
-        virBufferAsprintf(&xml, "      <model>%s</model>\n",
+        virBufferAddLit(&buf, "<secmodel>\n");
+        virBufferAdjustIndent(&buf, 2);
+        virBufferAsprintf(&buf, "<model>%s</model>\n",
                           caps->host.secModels[i].model);
-        virBufferAsprintf(&xml, "      <doi>%s</doi>\n",
+        virBufferAsprintf(&buf, "<doi>%s</doi>\n",
                           caps->host.secModels[i].doi);
         for (j = 0; j < caps->host.secModels[i].nlabels; j++) {
-            virBufferAsprintf(&xml, "      <baselabel type='%s'>%s</baselabel>\n",
+            virBufferAsprintf(&buf, "<baselabel type='%s'>%s</baselabel>\n",
                               caps->host.secModels[i].labels[j].type,
                               caps->host.secModels[i].labels[j].label);
         }
-        virBufferAddLit(&xml, "    </secmodel>\n");
+        virBufferAdjustIndent(&buf, -2);
+        virBufferAddLit(&buf, "</secmodel>\n");
     }
 
-    virBufferAddLit(&xml, "  </host>\n\n");
+    virBufferAdjustIndent(&buf, -2);
+    virBufferAddLit(&buf, "</host>\n\n");
 
 
     for (i = 0; i < caps->nguests; i++) {
-        virBufferAddLit(&xml, "  <guest>\n");
-        virBufferAsprintf(&xml, "    <os_type>%s</os_type>\n",
+        virBufferAddLit(&buf, "<guest>\n");
+        virBufferAdjustIndent(&buf, 2);
+        virBufferAsprintf(&buf, "<os_type>%s</os_type>\n",
                           caps->guests[i]->ostype);
         if (caps->guests[i]->arch.id)
-            virBufferAsprintf(&xml, "    <arch name='%s'>\n",
+            virBufferAsprintf(&buf, "<arch name='%s'>\n",
                               virArchToString(caps->guests[i]->arch.id));
-        virBufferAsprintf(&xml, "      <wordsize>%d</wordsize>\n",
+        virBufferAdjustIndent(&buf, 2);
+        virBufferAsprintf(&buf, "<wordsize>%d</wordsize>\n",
                           caps->guests[i]->arch.wordsize);
         if (caps->guests[i]->arch.defaultInfo.emulator)
-            virBufferAsprintf(&xml, "      <emulator>%s</emulator>\n",
+            virBufferAsprintf(&buf, "<emulator>%s</emulator>\n",
                               caps->guests[i]->arch.defaultInfo.emulator);
             if (caps->guests[i]->arch.defaultInfo.loader)
-                virBufferAsprintf(&xml, "      <loader>%s</loader>\n",
+                virBufferAsprintf(&buf, "<loader>%s</loader>\n",
                                   caps->guests[i]->arch.defaultInfo.loader);
 
         for (j = 0; j < caps->guests[i]->arch.defaultInfo.nmachines; j++) {
             virCapsGuestMachinePtr machine = caps->guests[i]->arch.defaultInfo.machines[j];
-            virBufferAddLit(&xml, "      <machine");
+            virBufferAddLit(&buf, "<machine");
             if (machine->canonical)
-                virBufferAsprintf(&xml, " canonical='%s'", machine->canonical);
+                virBufferAsprintf(&buf, " canonical='%s'", machine->canonical);
             if (machine->maxCpus > 0)
-                virBufferAsprintf(&xml, " maxCpus='%d'", machine->maxCpus);
-            virBufferAsprintf(&xml, ">%s</machine>\n", machine->name);
+                virBufferAsprintf(&buf, " maxCpus='%d'", machine->maxCpus);
+            virBufferAsprintf(&buf, ">%s</machine>\n", machine->name);
         }
 
         for (j = 0; j < caps->guests[i]->arch.ndomains; j++) {
-            virBufferAsprintf(&xml, "      <domain type='%s'>\n",
+            virBufferAsprintf(&buf, "<domain type='%s'>\n",
                                   caps->guests[i]->arch.domains[j]->type);
+            virBufferAdjustIndent(&buf, 2);
             if (caps->guests[i]->arch.domains[j]->info.emulator)
-                virBufferAsprintf(&xml, "        <emulator>%s</emulator>\n",
+                virBufferAsprintf(&buf, "<emulator>%s</emulator>\n",
                                   caps->guests[i]->arch.domains[j]->info.emulator);
             if (caps->guests[i]->arch.domains[j]->info.loader)
-                virBufferAsprintf(&xml, "        <loader>%s</loader>\n",
+                virBufferAsprintf(&buf, "<loader>%s</loader>\n",
                                   caps->guests[i]->arch.domains[j]->info.loader);
 
             for (k = 0; k < caps->guests[i]->arch.domains[j]->info.nmachines; k++) {
                 virCapsGuestMachinePtr machine = caps->guests[i]->arch.domains[j]->info.machines[k];
-                virBufferAddLit(&xml, "        <machine");
+                virBufferAddLit(&buf, "<machine");
                 if (machine->canonical)
-                    virBufferAsprintf(&xml, " canonical='%s'", machine->canonical);
+                    virBufferAsprintf(&buf, " canonical='%s'", machine->canonical);
                 if (machine->maxCpus > 0)
-                    virBufferAsprintf(&xml, " maxCpus='%d'", machine->maxCpus);
-                virBufferAsprintf(&xml, ">%s</machine>\n", machine->name);
+                    virBufferAsprintf(&buf, " maxCpus='%d'", machine->maxCpus);
+                virBufferAsprintf(&buf, ">%s</machine>\n", machine->name);
             }
-            virBufferAddLit(&xml, "      </domain>\n");
+            virBufferAdjustIndent(&buf, -2);
+            virBufferAddLit(&buf, "</domain>\n");
         }
 
-        virBufferAddLit(&xml, "    </arch>\n");
+        virBufferAdjustIndent(&buf, -2);
+        virBufferAddLit(&buf, "</arch>\n");
 
         if (caps->guests[i]->nfeatures) {
-            virBufferAddLit(&xml, "    <features>\n");
+            virBufferAddLit(&buf, "<features>\n");
+            virBufferAdjustIndent(&buf, 2);
 
             for (j = 0; j < caps->guests[i]->nfeatures; j++) {
                 if (STREQ(caps->guests[i]->features[j]->name, "pae") ||
@@ -948,30 +970,31 @@ virCapabilitiesFormatXML(virCapsPtr caps)
                     STREQ(caps->guests[i]->features[j]->name, "ia64_be") ||
                     STREQ(caps->guests[i]->features[j]->name, "cpuselection") ||
                     STREQ(caps->guests[i]->features[j]->name, "deviceboot")) {
-                    virBufferAsprintf(&xml, "      <%s/>\n",
+                    virBufferAsprintf(&buf, "<%s/>\n",
                                       caps->guests[i]->features[j]->name);
                 } else {
-                    virBufferAsprintf(&xml, "      <%s default='%s' toggle='%s'/>\n",
+                    virBufferAsprintf(&buf, "<%s default='%s' toggle='%s'/>\n",
                                       caps->guests[i]->features[j]->name,
                                       caps->guests[i]->features[j]->defaultOn ? "on" : "off",
                                       caps->guests[i]->features[j]->toggle ? "yes" : "no");
                 }
             }
 
-            virBufferAddLit(&xml, "    </features>\n");
+            virBufferAdjustIndent(&buf, -2);
+            virBufferAddLit(&buf, "</features>\n");
         }
-
-        virBufferAddLit(&xml, "  </guest>\n\n");
+        virBufferAdjustIndent(&buf, -2);
+        virBufferAddLit(&buf, "</guest>\n\n");
     }
+    virBufferAdjustIndent(&buf, -2);
+    virBufferAddLit(&buf, "</capabilities>\n");
 
-    virBufferAddLit(&xml, "</capabilities>\n");
-
-    if (virBufferError(&xml)) {
-        virBufferFreeAndReset(&xml);
+    if (virBufferError(&buf)) {
+        virBufferFreeAndReset(&buf);
         return NULL;
     }
 
-    return virBufferContentAndReset(&xml);
+    return virBufferContentAndReset(&buf);
 }
 
 /* get the maximum ID of cpus in the host */
-- 
1.8.5.3




More information about the libvir-list mailing list