On 09/29/2011 06:22 PM, Eric Blake wrote:
The improvements to virBuffer, along with a paradigm shift to pass
the original buffer through rather than creating a second buffer,
allow us to shave off quite a few lines of code.
* src/util/sysinfo.h (virSysinfoFormat): Alter signature.
* src/util/sysinfo.c (virSysinfoFormat, virSysinfoBIOSFormat)
(virSysinfoSystemFormat, virSysinfoProcessorFormat)
(virSysinfoMemoryFormat): Change indentation parameter.
* src/conf/domain_conf.c (virDomainSysinfoDefFormat): Adjust
caller.
* src/qemu/qemu_driver.c (qemuGetSysinfo): Likewise.
---
src/conf/domain_conf.c | 12 +-
src/qemu/qemu_driver.c | 9 +-
src/util/sysinfo.c | 399 ++++++++++++++++--------------------------------
src/util/sysinfo.h | 3 +-
4 files changed, 147 insertions(+), 276 deletions(-)
I'd squash in the attached patch, but it's not necessary as it gets rid
of non automatic indentation whitespace, but makes the code look cleaner :)
ACK, virBufferEscapeString nicely simplifies the code :)
Peter
diff --git a/src/util/sysinfo.c b/src/util/sysinfo.c
index de3108a..53636b6 100644
--- a/src/util/sysinfo.c
+++ b/src/util/sysinfo.c
@@ -521,16 +521,18 @@ virSysinfoBIOSFormat(virBufferPtr buf, virSysinfoDefPtr def)
!def->bios_date && !def->bios_release)
return;
- virBufferAddLit(buf, " <bios>\n");
- virBufferEscapeString(buf, " <entry name='vendor'>%s</entry>\n",
+ virBufferAddLit(buf, "<bios>\n");
+ virBufferAdjustIndent(buf, 2);
+ virBufferEscapeString(buf, "<entry name='vendor'>%s</entry>\n",
def->bios_vendor);
- virBufferEscapeString(buf, " <entry name='version'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='version'>%s</entry>\n",
def->bios_version);
- virBufferEscapeString(buf, " <entry name='date'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='date'>%s</entry>\n",
def->bios_date);
- virBufferEscapeString(buf, " <entry name='release'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='release'>%s</entry>\n",
def->bios_release);
- virBufferAddLit(buf, " </bios>\n");
+ virBufferAdjustIndent(buf, -2);
+ virBufferAddLit(buf, "</bios>\n");
}
static void
@@ -541,22 +543,24 @@ virSysinfoSystemFormat(virBufferPtr buf, virSysinfoDefPtr def)
!def->system_uuid && !def->system_sku && !def->system_family)
return;
- virBufferAddLit(buf, " <system>\n");
- virBufferEscapeString(buf, " <entry name='manufacturer'>%s</entry>\n",
+ virBufferAddLit(buf, "<system>\n");
+ virBufferAdjustIndent(buf, 2);
+ virBufferEscapeString(buf, "<entry name='manufacturer'>%s</entry>\n",
def->system_manufacturer);
- virBufferEscapeString(buf, " <entry name='product'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='product'>%s</entry>\n",
def->system_product);
- virBufferEscapeString(buf, " <entry name='version'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='version'>%s</entry>\n",
def->system_version);
- virBufferEscapeString(buf, " <entry name='serial'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='serial'>%s</entry>\n",
def->system_serial);
- virBufferEscapeString(buf, " <entry name='uuid'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='uuid'>%s</entry>\n",
def->system_uuid);
- virBufferEscapeString(buf, " <entry name='sku'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='sku'>%s</entry>\n",
def->system_sku);
- virBufferEscapeString(buf, " <entry name='family'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='family'>%s</entry>\n",
def->system_family);
- virBufferAddLit(buf, " </system>\n");
+ virBufferAdjustIndent(buf, -2);
+ virBufferAddLit(buf, "</system>\n");
}
static void
@@ -581,8 +585,8 @@ virSysinfoProcessorFormat(virBufferPtr buf, virSysinfoDefPtr def)
!processor->processor_part_number)
continue;
- virBufferAddLit(buf, " <processor>\n");
- virBufferAdjustIndent(buf, 4);
+ virBufferAddLit(buf, "<processor>\n");
+ virBufferAdjustIndent(buf, 2);
virBufferEscapeString(buf,
"<entry name='socket_destination'>%s</entry>\n",
processor->processor_socket_destination);
@@ -606,8 +610,8 @@ virSysinfoProcessorFormat(virBufferPtr buf, virSysinfoDefPtr def)
processor->processor_serial_number);
virBufferEscapeString(buf, "<entry name='part_number'>%s</entry>\n",
processor->processor_part_number);
- virBufferAdjustIndent(buf, -4);
- virBufferAddLit(buf, " </processor>\n");
+ virBufferAdjustIndent(buf, -2);
+ virBufferAddLit(buf, "</processor>\n");
}
}
@@ -632,34 +636,30 @@ virSysinfoMemoryFormat(virBufferPtr buf, virSysinfoDefPtr def)
!memory->memory_part_number)
continue;
- virBufferAddLit(buf, " <memory_device>\n");
- virBufferEscapeString(buf, " <entry name='size'>%s</entry>\n",
+ virBufferAddLit(buf, "<memory_device>\n");
+ virBufferAdjustIndent(buf, 2);
+ virBufferEscapeString(buf, "<entry name='size'>%s</entry>\n",
memory->memory_size);
- virBufferEscapeString(buf,
- " <entry name='form_factor'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='form_factor'>%s</entry>\n",
memory->memory_form_factor);
- virBufferEscapeString(buf, " <entry name='locator'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='locator'>%s</entry>\n",
memory->memory_locator);
- virBufferEscapeString(buf,
- " <entry name='bank_locator'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='bank_locator'>%s</entry>\n",
memory->memory_bank_locator);
- virBufferEscapeString(buf, " <entry name='type'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='type'>%s</entry>\n",
memory->memory_type);
- virBufferEscapeString(buf,
- " <entry name='type_detail'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='type_detail'>%s</entry>\n",
memory->memory_type_detail);
- virBufferEscapeString(buf, " <entry name='speed'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='speed'>%s</entry>\n",
memory->memory_speed);
- virBufferEscapeString(buf,
- " <entry name='manufacturer'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='manufacturer'>%s</entry>\n",
memory->memory_manufacturer);
- virBufferEscapeString(buf,
- " <entry name='serial_number'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='serial_number'>%s</entry>\n",
memory->memory_serial_number);
- virBufferEscapeString(buf,
- " <entry name='part_number'>%s</entry>\n",
+ virBufferEscapeString(buf, "<entry name='part_number'>%s</entry>\n",
memory->memory_part_number);
- virBufferAddLit(buf, " </memory_device>\n");
+ virBufferAdjustIndent(buf, -2);
+ virBufferAddLit(buf, "</memory_device>\n");
}
}
@@ -684,12 +684,14 @@ virSysinfoFormat(virBufferPtr buf, virSysinfoDefPtr def)
}
virBufferAsprintf(buf, "<sysinfo type='%s'>\n", type);
+ virBufferAdjustIndent(buf, 2);
virSysinfoBIOSFormat(buf, def);
virSysinfoSystemFormat(buf, def);
virSysinfoProcessorFormat(buf, def);
virSysinfoMemoryFormat(buf, def);
+ virBufferAdjustIndent(buf, -2);
virBufferAddLit(buf, "</sysinfo>\n");
if (virBufferError(buf)) {
--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list