Eliminate all uses of virBufferAdd with string literals.

* Makefile.maint (sc_prohibit_virBufferAdd_with_string_literal):
New rule.
* src/buf.h (virBufferAddLit): Define.
* src/conf.c (virConfSaveValue): Use virBufferAddLit, in place
of virBufferAdd everywhere possible.
(virConfSaveEntry): Likewise.
* src/qemu_conf.c (qemudGenerateXML, qemudGenerateNetworkXML): Likewise.
* src/qemu_driver.c (qemudGetFeatures, qemudGetCapabilities): Likewise.
* src/test.c (testDomainDumpXML, testNetworkDumpXML): Likewise.
* src/xen_internal.c (xenHypervisorMakeCapabilitiesXML): Likewise.
* src/xend_internal.c (xend_parse_sexp_desc_os): Likewise.
(xend_parse_sexp_desc, sexpr_to_xend_topology_xml): Likewise.
* src/xm_internal.c (xenXMDomainFormatXML, xenXMDomainPinVcpu): Likewise.
* src/xml.c (virSaveCpuSet, virParseXenCpuTopology): Likewise.
(virDomainParseXMLGraphicsDescImage): Likewise.
(virDomainParseXMLGraphicsDescVFB, virDomainParseXMLOSDescHVM): Likewise.
(virDomainParseXMLOSDescPV, virDomainParseXMLDiskDesc): Likewise.
(virDomainParseXMLIfDesc, virDomainParseXMLDesc): Likewise.
This commit is contained in:
Jim Meyering 2008-02-05 14:22:28 +00:00
parent ecaa696250
commit fb66d5ab92
11 changed files with 217 additions and 187 deletions

View File

@ -1,3 +1,25 @@
Tue Feb 3 15:21:45 CET 2008 Jim Meyering <meyering@redhat.com>
Eliminate all uses of virBufferAdd with string literals.
* Makefile.maint (sc_prohibit_virBufferAdd_with_string_literal):
New rule.
* src/buf.h (virBufferAddLit): Define.
* src/conf.c (virConfSaveValue): Use virBufferAddLit, in place
of virBufferAdd everywhere possible.
(virConfSaveEntry): Likewise.
* src/qemu_conf.c (qemudGenerateXML, qemudGenerateNetworkXML): Likewise.
* src/qemu_driver.c (qemudGetFeatures, qemudGetCapabilities): Likewise.
* src/test.c (testDomainDumpXML, testNetworkDumpXML): Likewise.
* src/xen_internal.c (xenHypervisorMakeCapabilitiesXML): Likewise.
* src/xend_internal.c (xend_parse_sexp_desc_os): Likewise.
(xend_parse_sexp_desc, sexpr_to_xend_topology_xml): Likewise.
* src/xm_internal.c (xenXMDomainFormatXML, xenXMDomainPinVcpu): Likewise.
* src/xml.c (virSaveCpuSet, virParseXenCpuTopology): Likewise.
(virDomainParseXMLGraphicsDescImage): Likewise.
(virDomainParseXMLGraphicsDescVFB, virDomainParseXMLOSDescHVM): Likewise.
(virDomainParseXMLOSDescPV, virDomainParseXMLDiskDesc): Likewise.
(virDomainParseXMLIfDesc, virDomainParseXMLDesc): Likewise.
Mon Feb 2 15:56:45 CET 2008 Jim Meyering <meyering@redhat.com>
Enable more checks for unmarked messages; fix violators.

View File

@ -304,6 +304,11 @@ sc_unmarked_diagnostics:
{ echo '$(ME): found unmarked diagnostic(s)' 1>&2; \
exit 1; } || :
sc_prohibit_virBufferAdd_with_string_literal:
@grep -nE '\<virBufferAdd *\([^,]+, *"[^"]' $$($(CVS_LIST_EXCEPT)) && \
{ echo '$(ME): use virBufferAddLit, not virBufferAdd,' \
'with a string literal' 1>&2; exit 1; } || :
# Avoid useless parentheses like those in this example:
# #if defined (SYMBOL) || defined (SYM2)
sc_useless_cpp_parens:

View File

@ -1,7 +1,7 @@
/*
* buf.h: buffers for libvirt
*
* Copyright (C) 2005-2007 Red Hat, Inc.
* Copyright (C) 2005-2008 Red Hat, Inc.
*
* See COPYING.LIB for the License of this software
*
@ -37,4 +37,7 @@ int virBufferStrcat(virBufferPtr buf, ...);
int virBufferEscapeString(virBufferPtr buf, const char *format, const char *str);
int virBufferURIEncodeString (virBufferPtr buf, const char *str);
#define virBufferAddLit(buf_, literal_string_) \
virBufferAdd (buf_, "" literal_string_ "", sizeof literal_string_ - 1)
#endif /* __VIR_BUFFER_H__ */

View File

@ -264,17 +264,17 @@ virConfSaveValue(virBufferPtr buf, virConfValuePtr val)
virConfValuePtr cur;
cur = val->list;
virBufferAdd(buf, "[ ", 2);
virBufferAddLit(buf, "[ ");
if (cur != NULL) {
virConfSaveValue(buf, cur);
cur = cur->next;
while (cur != NULL) {
virBufferAdd(buf, ", ", 2);
virBufferAddLit(buf, ", ");
virConfSaveValue(buf, cur);
cur = cur->next;
}
}
virBufferAdd(buf, " ]", 2);
virBufferAddLit(buf, " ]");
break;
}
default:
@ -297,17 +297,17 @@ virConfSaveEntry(virBufferPtr buf, virConfEntryPtr cur)
{
if (cur->name != NULL) {
virBufferAdd(buf, cur->name, -1);
virBufferAdd(buf, " = ", 3);
virBufferAddLit(buf, " = ");
virConfSaveValue(buf, cur->value);
if (cur->comment != NULL) {
virBufferAdd(buf, " #", 2);
virBufferAddLit(buf, " #");
virBufferAdd(buf, cur->comment, -1);
}
} else if (cur->comment != NULL) {
virBufferAdd(buf, "#", 1);
virBufferAddLit(buf, "#");
virBufferAdd(buf, cur->comment, -1);
}
virBufferAdd(buf, "\n", 1);
virBufferAddLit(buf, "\n");
return(0);
}

View File

@ -2714,7 +2714,7 @@ char *qemudGenerateXML(virConnectPtr conn,
if (virBufferVSprintf(buf, " <vcpu>%d</vcpu>\n", def->vcpus) < 0)
goto no_memory;
if (virBufferAdd(buf, " <os>\n", -1) < 0)
if (virBufferAddLit(buf, " <os>\n") < 0)
goto no_memory;
if (def->virtType == QEMUD_VIRT_QEMU) {
@ -2756,33 +2756,33 @@ char *qemudGenerateXML(virConnectPtr conn,
goto no_memory;
}
if (virBufferAdd(buf, " </os>\n", -1) < 0)
if (virBufferAddLit(buf, " </os>\n") < 0)
goto no_memory;
if (def->features & QEMUD_FEATURE_ACPI) {
if (virBufferAdd(buf, " <features>\n", -1) < 0)
if (virBufferAddLit(buf, " <features>\n") < 0)
goto no_memory;
if (virBufferAdd(buf, " <acpi/>\n", -1) < 0)
if (virBufferAddLit(buf, " <acpi/>\n") < 0)
goto no_memory;
if (virBufferAdd(buf, " </features>\n", -1) < 0)
if (virBufferAddLit(buf, " </features>\n") < 0)
goto no_memory;
}
virBufferVSprintf(buf, " <clock offset='%s'/>\n", def->localtime ? "localtime" : "utc");
if (virBufferAdd(buf, " <on_poweroff>destroy</on_poweroff>\n", -1) < 0)
if (virBufferAddLit(buf, " <on_poweroff>destroy</on_poweroff>\n") < 0)
goto no_memory;
if (def->noReboot) {
if (virBufferAdd(buf, " <on_reboot>destroy</on_reboot>\n", -1) < 0)
if (virBufferAddLit(buf, " <on_reboot>destroy</on_reboot>\n") < 0)
goto no_memory;
} else {
if (virBufferAdd(buf, " <on_reboot>restart</on_reboot>\n", -1) < 0)
if (virBufferAddLit(buf, " <on_reboot>restart</on_reboot>\n") < 0)
goto no_memory;
}
if (virBufferAdd(buf, " <on_crash>destroy</on_crash>\n", -1) < 0)
if (virBufferAddLit(buf, " <on_crash>destroy</on_crash>\n") < 0)
goto no_memory;
if (virBufferAdd(buf, " <devices>\n", -1) < 0)
if (virBufferAddLit(buf, " <devices>\n") < 0)
goto no_memory;
if (virBufferVSprintf(buf, " <emulator>%s</emulator>\n", def->os.binary) < 0)
@ -2814,7 +2814,7 @@ char *qemudGenerateXML(virConnectPtr conn,
goto no_memory;
if (disk->readonly)
if (virBufferAdd(buf, " <readonly/>\n", -1) < 0)
if (virBufferAddLit(buf, " <readonly/>\n") < 0)
goto no_memory;
if (virBufferVSprintf(buf, " </disk>\n") < 0)
@ -2904,12 +2904,12 @@ char *qemudGenerateXML(virConnectPtr conn,
}
/* If graphics is enable, add implicit mouse */
if (def->graphicsType != QEMUD_GRAPHICS_NONE)
if (virBufferAdd(buf, " <input type='mouse' bus='ps2'/>\n", -1) < 0)
if (virBufferAddLit(buf, " <input type='mouse' bus='ps2'/>\n") < 0)
goto no_memory;
switch (def->graphicsType) {
case QEMUD_GRAPHICS_VNC:
if (virBufferAdd(buf, " <graphics type='vnc'", -1) < 0)
if (virBufferAddLit(buf, " <graphics type='vnc'") < 0)
goto no_memory;
if (def->vncPort &&
@ -2927,12 +2927,12 @@ char *qemudGenerateXML(virConnectPtr conn,
def->keymap) < 0)
goto no_memory;
if (virBufferAdd(buf, "/>\n", -1) < 0)
if (virBufferAddLit(buf, "/>\n") < 0)
goto no_memory;
break;
case QEMUD_GRAPHICS_SDL:
if (virBufferAdd(buf, " <graphics type='sdl'/>\n", -1) < 0)
if (virBufferAddLit(buf, " <graphics type='sdl'/>\n") < 0)
goto no_memory;
break;
@ -2944,11 +2944,11 @@ char *qemudGenerateXML(virConnectPtr conn,
if (def->graphicsType == QEMUD_GRAPHICS_VNC) {
}
if (virBufferAdd(buf, " </devices>\n", -1) < 0)
if (virBufferAddLit(buf, " </devices>\n") < 0)
goto no_memory;
if (virBufferAdd(buf, "</domain>\n", -1) < 0)
if (virBufferAddLit(buf, "</domain>\n") < 0)
goto no_memory;
return virBufferContentAndFree (buf);
@ -2989,11 +2989,11 @@ char *qemudGenerateNetworkXML(virConnectPtr conn,
virBufferVSprintf(buf, " <forward dev='%s'/>\n",
def->forwardDev);
} else {
virBufferAdd(buf, " <forward/>\n", -1);
virBufferAddLit(buf, " <forward/>\n");
}
}
virBufferAdd(buf, " <bridge", -1);
virBufferAddLit(buf, " <bridge");
if (qemudIsActiveNetwork(network)) {
if (virBufferVSprintf(buf, " name='%s'", network->bridge) < 0)
goto no_memory;
@ -3007,7 +3007,7 @@ char *qemudGenerateNetworkXML(virConnectPtr conn,
goto no_memory;
if (def->ipAddress[0] || def->netmask[0]) {
if (virBufferAdd(buf, " <ip", -1) < 0)
if (virBufferAddLit(buf, " <ip") < 0)
goto no_memory;
if (def->ipAddress[0] &&
@ -3018,12 +3018,12 @@ char *qemudGenerateNetworkXML(virConnectPtr conn,
virBufferVSprintf(buf, " netmask='%s'", def->netmask) < 0)
goto no_memory;
if (virBufferAdd(buf, ">\n", -1) < 0)
if (virBufferAddLit(buf, ">\n") < 0)
goto no_memory;
if (def->ranges) {
struct qemud_dhcp_range_def *range = def->ranges;
if (virBufferAdd(buf, " <dhcp>\n", -1) < 0)
if (virBufferAddLit(buf, " <dhcp>\n") < 0)
goto no_memory;
while (range) {
if (virBufferVSprintf(buf, " <range start='%s' end='%s' />\n",
@ -3031,15 +3031,15 @@ char *qemudGenerateNetworkXML(virConnectPtr conn,
goto no_memory;
range = range->next;
}
if (virBufferAdd(buf, " </dhcp>\n", -1) < 0)
if (virBufferAddLit(buf, " </dhcp>\n") < 0)
goto no_memory;
}
if (virBufferAdd(buf, " </ip>\n", -1) < 0)
if (virBufferAddLit(buf, " </ip>\n") < 0)
goto no_memory;
}
if (virBufferAdd(buf, "</network>\n", -1) < 0)
if (virBufferAddLit(buf, "</network>\n") < 0)
goto no_memory;
return virBufferContentAndFree (buf);

View File

@ -1,7 +1,7 @@
/*
* driver.c: core driver methods for managing qemu guests
*
* Copyright (C) 2006, 2007 Red Hat, Inc.
* Copyright (C) 2006, 2007, 2008 Red Hat, Inc.
* Copyright (C) 2006 Daniel P. Berrange
*
* This library is free software; you can redistribute it and/or
@ -1459,19 +1459,19 @@ static int qemudGetFeatures(virBufferPtr xml,
if (flags == NULL)
return 0;
r = virBufferAdd(xml, "\
<features>\n", -1);
r = virBufferAddLit(xml, "\
<features>\n");
if (r == -1) return r;
for (i = 0; flags[i].name; ++i) {
if (STREQ(flags[i].name, "pae")) {
int pae = flags[i].default_on || flags[i].toggle;
int nonpae = flags[i].toggle;
if (pae) {
r = virBufferAdd(xml, " <pae/>\n", -1);
r = virBufferAddLit(xml, " <pae/>\n");
if (r == -1) return r;
}
if (nonpae) {
r = virBufferAdd(xml, " <nonpae/>\n", -1);
r = virBufferAddLit(xml, " <nonpae/>\n");
if (r == -1) return r;
}
} else {
@ -1482,7 +1482,7 @@ static int qemudGetFeatures(virBufferPtr xml,
if (r == -1) return r;
}
}
r = virBufferAdd(xml, " </features>\n", -1);
r = virBufferAddLit(xml, " </features>\n");
return r;
}
@ -1550,26 +1550,26 @@ static char *qemudGetCapabilities(virConnectPtr conn ATTRIBUTE_UNUSED) {
}
if (have_kqemu) {
r = virBufferAdd (xml,
r = virBufferAddLit (xml,
"\
<domain type=\"kqemu\"/>\n", -1);
<domain type=\"kqemu\"/>\n");
if (r == -1) goto vir_buffer_failed;
}
if (have_kvm) {
r = virBufferAdd (xml,
r = virBufferAddLit (xml,
"\
<domain type=\"kvm\">\n\
<emulator>/usr/bin/qemu-kvm</emulator>\n\
</domain>\n", -1);
</domain>\n");
if (r == -1) goto vir_buffer_failed;
}
r = virBufferAdd (xml, " </arch>\n", -1);
r = virBufferAddLit (xml, " </arch>\n");
if (r == -1) goto vir_buffer_failed;
r = qemudGetFeatures(xml, qemudArchs[i].fflags);
if (r == -1) goto vir_buffer_failed;
r = virBufferAdd (xml, " </guest>\n", -1);
r = virBufferAddLit (xml, " </guest>\n");
if (r == -1) goto vir_buffer_failed;
/* The "other" PC architecture needs emulation. */
@ -1594,7 +1594,7 @@ static char *qemudGetCapabilities(virConnectPtr conn ATTRIBUTE_UNUSED) {
qemudArchs[i].machines[j]);
if (r == -1) goto vir_buffer_failed;
}
r = virBufferAdd (xml, " </arch>\n </guest>\n", -1);
r = virBufferAddLit (xml, " </arch>\n </guest>\n");
if (r == -1) goto vir_buffer_failed;
}
@ -1620,20 +1620,20 @@ static char *qemudGetCapabilities(virConnectPtr conn ATTRIBUTE_UNUSED) {
qemudArchs[i].machines[j]);
if (r == -1) goto vir_buffer_failed;
}
r = virBufferAdd (xml, " </arch>\n", -1);
r = virBufferAddLit (xml, " </arch>\n");
if (r == -1) goto vir_buffer_failed;
r = qemudGetFeatures(xml, qemudArchs[i].fflags);
if (r == -1) goto vir_buffer_failed;
r = virBufferAdd (xml, " </guest>\n", -1);
r = virBufferAddLit (xml, " </guest>\n");
if (r == -1) goto vir_buffer_failed;
}
/* Finish off. */
r = virBufferAdd (xml,
r = virBufferAddLit (xml,
"\
</capabilities>\n", -1);
</capabilities>\n");
if (r == -1) goto vir_buffer_failed;
return virBufferContentAndFree(xml);

View File

@ -1492,7 +1492,7 @@ static char *testDomainDumpXML(virDomainPtr domain, int flags ATTRIBUTE_UNUSED)
virBufferVSprintf(buf, " <on_poweroff>%s</on_poweroff>\n", testRestartFlagToString(privdom->onPoweroff));
virBufferVSprintf(buf, " <on_crash>%s</on_crash>\n", testRestartFlagToString(privdom->onCrash));
virBufferAdd(buf, "</domain>\n", -1);
virBufferAddLit(buf, "</domain>\n");
xml = buf->content;
free(buf);
@ -1863,7 +1863,7 @@ static char *testNetworkDumpXML(virNetworkPtr network, int flags ATTRIBUTE_UNUSE
return (NULL);
}
virBufferAdd(buf, "<network>\n", -1);
virBufferAddLit(buf, "<network>\n");
virBufferVSprintf(buf, " <name>%s</name>\n", network->name);
uuid = network->uuid;
virUUIDFormat(uuid, uuidstr);
@ -1873,18 +1873,18 @@ static char *testNetworkDumpXML(virNetworkPtr network, int flags ATTRIBUTE_UNUSE
if (privnet->forwardDev[0])
virBufferVSprintf(buf, " <forward dev='%s'/>\n", privnet->forwardDev);
else
virBufferAdd(buf, " <forward/>\n", -1);
virBufferAddLit(buf, " <forward/>\n");
}
virBufferVSprintf(buf, " <ip address='%s' netmask='%s'>\n",
privnet->ipAddress, privnet->ipNetmask);
virBufferAdd(buf, " <dhcp>\n", -1);
virBufferAddLit(buf, " <dhcp>\n");
virBufferVSprintf(buf, " <range start='%s' end='%s'/>\n",
privnet->dhcpStart, privnet->dhcpEnd);
virBufferAdd(buf, " </dhcp>\n", -1);
virBufferAdd(buf, " </ip>\n", -1);
virBufferAddLit(buf, " </dhcp>\n");
virBufferAddLit(buf, " </ip>\n");
virBufferAdd(buf, "</network>\n", -1);
virBufferAddLit(buf, "</network>\n");
xml = buf->content;
free(buf);

View File

@ -1,7 +1,7 @@
/*
* xen_internal.c: direct access to Xen hypervisor level
*
* Copyright (C) 2005, 2006, 2007 Red Hat, Inc.
* Copyright (C) 2005, 2006, 2007, 2008 Red Hat, Inc.
*
* See COPYING.LIB for the License of this software
*
@ -2330,11 +2330,11 @@ xenHypervisorMakeCapabilitiesXML(virConnectPtr conn,
if (r == -1) goto vir_buffer_failed;
}
if (host_pae) {
r = virBufferAdd (xml, "\
<pae/>\n", -1);
r = virBufferAddLit (xml, "\
<pae/>\n");
if (r == -1) goto vir_buffer_failed;
}
r = virBufferAdd (xml,
r = virBufferAddLit (xml,
"\
</features>\n\
</cpu>\n\
@ -2344,7 +2344,7 @@ xenHypervisorMakeCapabilitiesXML(virConnectPtr conn,
<uri_transport>xenmigr</uri_transport>\n\
</uri_transports>\n\
</migration_features>\n\
</host>\n", -1);
</host>\n");
if (r == -1) goto vir_buffer_failed;
if (sys_interface_version >= 4) {
@ -2376,48 +2376,48 @@ xenHypervisorMakeCapabilitiesXML(virConnectPtr conn,
guest_archs[i].bits == 64 ? "64" : "");
if (r == -1) goto vir_buffer_failed;
}
r = virBufferAdd (xml,
r = virBufferAddLit (xml,
"\
</arch>\n\
<features>\n", -1);
<features>\n");
if (r == -1) goto vir_buffer_failed;
if (guest_archs[i].pae) {
r = virBufferAdd (xml,
r = virBufferAddLit (xml,
"\
<pae/>\n", -1);
<pae/>\n");
if (r == -1) goto vir_buffer_failed;
}
if (guest_archs[i].nonpae) {
r = virBufferAdd (xml, " <nonpae/>\n", -1);
r = virBufferAddLit (xml, " <nonpae/>\n");
if (r == -1) goto vir_buffer_failed;
}
if (guest_archs[i].ia64_be) {
r = virBufferAdd (xml, " <ia64_be/>\n", -1);
r = virBufferAddLit (xml, " <ia64_be/>\n");
if (r == -1) goto vir_buffer_failed;
}
if (guest_archs[i].hvm) {
r = virBufferAdd (xml, " <acpi default='on' toggle='yes'/>\n",
-1);
r = virBufferAddLit (xml,
" <acpi default='on' toggle='yes'/>\n");
if (r == -1) goto vir_buffer_failed;
// In Xen 3.1.0, APIC is always on and can't be toggled
if (hv_major >= 3 && hv_minor > 0) {
r = virBufferAdd (xml,
" <apic default='off' toggle='no'/>\n", -1);
r = virBufferAddLit (xml,
" <apic default='off' toggle='no'/>\n");
} else {
r = virBufferAdd (xml,
" <apic default='on' toggle='yes'/>\n", -1);
r = virBufferAddLit (xml,
" <apic default='on' toggle='yes'/>\n");
}
if (r == -1) goto vir_buffer_failed;
}
r = virBufferAdd (xml, "\
r = virBufferAddLit (xml, "\
</features>\n\
</guest>\n", -1);
</guest>\n");
if (r == -1) goto vir_buffer_failed;
}
r = virBufferAdd (xml,
r = virBufferAddLit (xml,
"\
</capabilities>\n", -1);
</capabilities>\n");
if (r == -1) goto vir_buffer_failed;
xml_str = strdup (xml->content);
if (!xml_str) goto vir_buffer_failed;

View File

@ -1286,7 +1286,7 @@ xend_parse_sexp_desc_os(virConnectPtr xend, struct sexpr *node, virBufferPtr buf
return(-1);
}
virBufferAdd(buf, " <os>\n", 7);
virBufferAddLit(buf, " <os>\n");
if (hvm) {
virBufferVSprintf(buf, " <type>hvm</type>\n");
tmp = sexpr_node(node, "domain/image/hvm/kernel");
@ -1304,7 +1304,7 @@ xend_parse_sexp_desc_os(virConnectPtr xend, struct sexpr *node, virBufferPtr buf
while (*tmp) {
if (*tmp == 'a')
/* XXX no way to deal with boot from 2nd floppy */
virBufferAdd(buf, " <boot dev='fd'/>\n", 21 );
virBufferAddLit(buf, " <boot dev='fd'/>\n");
else if (*tmp == 'c')
/*
* Don't know what to put here. Say the vm has been given 3
@ -1312,11 +1312,11 @@ xend_parse_sexp_desc_os(virConnectPtr xend, struct sexpr *node, virBufferPtr buf
* We're going to assume that first disk is the boot disk since
* this is most common practice
*/
virBufferAdd(buf, " <boot dev='hd'/>\n", 21 );
virBufferAddLit(buf, " <boot dev='hd'/>\n");
else if (*tmp == 'd')
virBufferAdd(buf, " <boot dev='cdrom'/>\n", 24 );
virBufferAddLit(buf, " <boot dev='cdrom'/>\n");
else if (*tmp == 'n')
virBufferAdd(buf, " <boot dev='network'/>\n", 26 );
virBufferAddLit(buf, " <boot dev='network'/>\n");
tmp++;
}
}
@ -1341,7 +1341,7 @@ xend_parse_sexp_desc_os(virConnectPtr xend, struct sexpr *node, virBufferPtr buf
virBufferEscapeString(buf, " <cmdline>%s</cmdline>\n", tmp);
}
virBufferAdd(buf, " </os>\n", 8);
virBufferAddLit(buf, " </os>\n");
return(0);
}
@ -1472,20 +1472,20 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
if (hvm) {
int clockLocal;
virBufferAdd(&buf, " <features>\n", 13);
virBufferAddLit(&buf, " <features>\n");
if (sexpr_int(root, "domain/image/hvm/acpi"))
virBufferAdd(&buf, " <acpi/>\n", 12);
virBufferAddLit(&buf, " <acpi/>\n");
if (sexpr_int(root, "domain/image/hvm/apic"))
virBufferAdd(&buf, " <apic/>\n", 12);
virBufferAddLit(&buf, " <apic/>\n");
if (sexpr_int(root, "domain/image/hvm/pae"))
virBufferAdd(&buf, " <pae/>\n", 11);
virBufferAdd(&buf, " </features>\n", 14);
virBufferAddLit(&buf, " <pae/>\n");
virBufferAddLit(&buf, " </features>\n");
clockLocal = sexpr_int(root, "domain/image/hvm/localtime");
virBufferVSprintf(&buf, " <clock offset='%s'/>\n", clockLocal ? "localtime" : "utc");
}
virBufferAdd(&buf, " <devices>\n", 12);
virBufferAddLit(&buf, " <devices>\n");
/* in case of HVM we have devices emulation */
tmp = sexpr_node(root, "domain/image/hvm/device_model");
@ -1636,7 +1636,7 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
virBufferVSprintf(&buf, " <readonly/>\n");
else if ((mode != NULL) && (!strcmp(mode, "w!")))
virBufferVSprintf(&buf, " <shareable/>\n");
virBufferAdd(&buf, " </disk>\n", 12);
virBufferAddLit(&buf, " </disk>\n");
bad_parse:
free(drvName);
@ -1673,7 +1673,7 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
virBufferVSprintf(&buf, " <script path='%s'/>\n",
tmp2);
virBufferAdd(&buf, " </interface>\n", 17);
virBufferAddLit(&buf, " </interface>\n");
vif_index++;
} else if (sexpr_lookup(node, "device/vfb")) {
/* New style graphics config for PV guests in >= 3.0.4,
@ -1682,7 +1682,7 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
if (tmp && !strcmp(tmp, "sdl")) {
virBufferVSprintf(&buf, " <input type='mouse' bus='%s'/>\n", hvm ? "ps2": "xen");
virBufferAdd(&buf, " <graphics type='sdl'/>\n", 27);
virBufferAddLit(&buf, " <graphics type='sdl'/>\n");
} else if (tmp && !strcmp(tmp, "vnc")) {
int port = xenStoreDomainGetVNCPort(conn, domid);
const char *listenAddr = sexpr_node(node, "device/vfb/vnclisten");
@ -1699,7 +1699,7 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
}
if (keymap)
virBufferVSprintf(&buf, " keymap='%s'", keymap);
virBufferAdd(&buf, "/>\n", 3);
virBufferAddLit(&buf, "/>\n");
}
}
}
@ -1707,29 +1707,29 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
if (hvm) {
tmp = sexpr_node(root, "domain/image/hvm/fda");
if ((tmp != NULL) && (tmp[0] != 0)) {
virBufferAdd(&buf, " <disk type='file' device='floppy'>\n", 39);
virBufferAddLit(&buf, " <disk type='file' device='floppy'>\n");
virBufferVSprintf(&buf, " <source file='%s'/>\n", tmp);
virBufferAdd(&buf, " <target dev='fda'/>\n", 26);
virBufferAdd(&buf, " </disk>\n", 12);
virBufferAddLit(&buf, " <target dev='fda'/>\n");
virBufferAddLit(&buf, " </disk>\n");
}
tmp = sexpr_node(root, "domain/image/hvm/fdb");
if ((tmp != NULL) && (tmp[0] != 0)) {
virBufferAdd(&buf, " <disk type='file' device='floppy'>\n", 39);
virBufferAddLit(&buf, " <disk type='file' device='floppy'>\n");
virBufferVSprintf(&buf, " <source file='%s'/>\n", tmp);
virBufferAdd(&buf, " <target dev='fdb'/>\n", 26);
virBufferAdd(&buf, " </disk>\n", 12);
virBufferAddLit(&buf, " <target dev='fdb'/>\n");
virBufferAddLit(&buf, " </disk>\n");
}
/* Old style cdrom config from Xen <= 3.0.2 */
if (xendConfigVersion == 1) {
tmp = sexpr_node(root, "domain/image/hvm/cdrom");
if ((tmp != NULL) && (tmp[0] != 0)) {
virBufferAdd(&buf, " <disk type='file' device='cdrom'>\n", 38);
virBufferAdd(&buf, " <driver name='file'/>\n", 28);
virBufferAddLit(&buf, " <disk type='file' device='cdrom'>\n");
virBufferAddLit(&buf, " <driver name='file'/>\n");
virBufferVSprintf(&buf, " <source file='%s'/>\n", tmp);
virBufferAdd(&buf, " <target dev='hdc'/>\n", 26);
virBufferAdd(&buf, " <readonly/>\n", 18);
virBufferAdd(&buf, " </disk>\n", 12);
virBufferAddLit(&buf, " <target dev='hdc'/>\n");
virBufferAddLit(&buf, " <readonly/>\n");
virBufferAddLit(&buf, " </disk>\n");
}
}
}
@ -1742,9 +1742,9 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
tmp = sexpr_node(node, "usbdevice");
if (tmp && *tmp) {
if (!strcmp(tmp, "tablet"))
virBufferAdd(&buf, " <input type='tablet' bus='usb'/>\n", 37);
virBufferAddLit(&buf, " <input type='tablet' bus='usb'/>\n");
else if (!strcmp(tmp, "mouse"))
virBufferAdd(&buf, " <input type='mouse' bus='usb'/>\n", 36);
virBufferAddLit(&buf, " <input type='mouse' bus='usb'/>\n");
}
}
}
@ -1779,7 +1779,7 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
}
if (keymap)
virBufferVSprintf(&buf, " keymap='%s'", keymap);
virBufferAdd(&buf, "/>\n", 3);
virBufferAddLit(&buf, "/>\n");
}
}
@ -1788,7 +1788,7 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
if (tmp != NULL) {
if (tmp[0] == '1') {
virBufferVSprintf(&buf, " <input type='mouse' bus='%s'/>\n", hvm ? "ps2" : "xen");
virBufferAdd(&buf, " <graphics type='sdl'/>\n", 27 );
virBufferAddLit(&buf, " <graphics type='sdl'/>\n");
}
}
}
@ -1799,8 +1799,8 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
free(tty);
}
virBufferAdd(&buf, " </devices>\n", 13);
virBufferAdd(&buf, "</domain>\n", 10);
virBufferAddLit(&buf, " </devices>\n");
virBufferAddLit(&buf, "</domain>\n");
buf.content[buf.use] = 0;
return (buf.content);
@ -1969,9 +1969,9 @@ sexpr_to_xend_topology_xml(virConnectPtr conn, const struct sexpr *root,
r = virParseXenCpuTopology(conn, xml, nodeToCpu, numCpus);
if (r < 0) goto error;
r = virBufferAdd (xml, "\
r = virBufferAddLit (xml, "\
</cells>\n\
</topology>\n", -1);
</topology>\n");
if (r < 0) goto vir_buffer_failed;
return (0);

View File

@ -592,7 +592,7 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
buf = virBufferNew(4096);
virBufferAdd(buf, "<domain type='xen'>\n", -1);
virBufferAddLit(buf, "<domain type='xen'>\n");
virBufferVSprintf(buf, " <name>%s</name>\n", name);
virUUIDFormat(uuid, uuidstr);
virBufferVSprintf(buf, " <uuid>%s</uuid>\n", uuidstr);
@ -603,8 +603,8 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
if (hvm) {
const char *boot;
virBufferAdd(buf, " <os>\n", -1);
virBufferAdd(buf, " <type>hvm</type>\n", -1);
virBufferAddLit(buf, " <os>\n");
virBufferAddLit(buf, " <type>hvm</type>\n");
if (xenXMConfigGetString(conf, "kernel", &str) == 0)
virBufferVSprintf(buf, " <loader>%s</loader>\n", str);
@ -629,7 +629,7 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
boot++;
}
virBufferAdd(buf, " </os>\n", -1);
virBufferAddLit(buf, " </os>\n");
} else {
if (xenXMConfigGetString(conf, "bootloader", &str) == 0)
@ -637,14 +637,14 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
if (xenXMConfigGetString(conf, "bootargs", &str) == 0)
virBufferEscapeString(buf, " <bootloader_args>%s</bootloader_args>\n", str);
if (xenXMConfigGetString(conf, "kernel", &str) == 0) {
virBufferAdd(buf, " <os>\n", -1);
virBufferAdd(buf, " <type>linux</type>\n", -1);
virBufferAddLit(buf, " <os>\n");
virBufferAddLit(buf, " <type>linux</type>\n");
virBufferVSprintf(buf, " <kernel>%s</kernel>\n", str);
if (xenXMConfigGetString(conf, "ramdisk", &str) == 0)
virBufferVSprintf(buf, " <initrd>%s</initrd>\n", str);
if (xenXMConfigGetString(conf, "extra", &str) == 0)
virBufferEscapeString(buf, " <cmdline>%s</cmdline>\n", str);
virBufferAdd(buf, " </os>\n", -1);
virBufferAddLit(buf, " </os>\n");
}
}
@ -687,24 +687,24 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
if (hvm) {
virBufferAdd(buf, " <features>\n", -1);
virBufferAddLit(buf, " <features>\n");
if (xenXMConfigGetInt(conf, "pae", &val) == 0 &&
val)
virBufferAdd(buf, " <pae/>\n", -1);
virBufferAddLit(buf, " <pae/>\n");
if (xenXMConfigGetInt(conf, "acpi", &val) == 0 &&
val)
virBufferAdd(buf, " <acpi/>\n", -1);
virBufferAddLit(buf, " <acpi/>\n");
if (xenXMConfigGetInt(conf, "apic", &val) == 0 &&
val)
virBufferAdd(buf, " <apic/>\n", -1);
virBufferAdd(buf, " </features>\n", -1);
virBufferAddLit(buf, " <apic/>\n");
virBufferAddLit(buf, " </features>\n");
if (xenXMConfigGetInt(conf, "localtime", &val) < 0)
val = 0;
virBufferVSprintf(buf, " <clock offset='%s'/>\n", val ? "localtime" : "utc");
}
virBufferAdd(buf, " <devices>\n", -1);
virBufferAddLit(buf, " <devices>\n");
if (hvm) {
if (xenXMConfigGetString(conf, "device_model", &str) == 0)
@ -808,11 +808,11 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
virBufferVSprintf(buf, " <target dev='%s'/>\n", dev);
if (!strcmp(head, "r") ||
!strcmp(head, "ro"))
virBufferAdd(buf, " <readonly/>\n", -1);
virBufferAddLit(buf, " <readonly/>\n");
else if ((!strcmp(head, "w!")) ||
(!strcmp(head, "!")))
virBufferAdd(buf, " <shareable/>\n", -1);
virBufferAdd(buf, " </disk>\n", -1);
virBufferAddLit(buf, " <shareable/>\n");
virBufferAddLit(buf, " </disk>\n");
skipdisk:
list = list->next;
@ -821,12 +821,12 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
if (hvm && priv->xendConfigVersion == 1) {
if (xenXMConfigGetString(conf, "cdrom", &str) == 0) {
virBufferAdd(buf, " <disk type='file' device='cdrom'>\n", -1);
virBufferAdd(buf, " <driver name='file'/>\n", -1);
virBufferAddLit(buf, " <disk type='file' device='cdrom'>\n");
virBufferAddLit(buf, " <driver name='file'/>\n");
virBufferVSprintf(buf, " <source file='%s'/>\n", str);
virBufferAdd(buf, " <target dev='hdc'/>\n", -1);
virBufferAdd(buf, " <readonly/>\n", -1);
virBufferAdd(buf, " </disk>\n", -1);
virBufferAddLit(buf, " <target dev='hdc'/>\n");
virBufferAddLit(buf, " <readonly/>\n");
virBufferAddLit(buf, " </disk>\n");
}
}
@ -897,7 +897,7 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
type = 1;
}
virBufferAdd(buf, " <interface type='bridge'>\n", -1);
virBufferAddLit(buf, " <interface type='bridge'>\n");
if (mac[0])
virBufferVSprintf(buf, " <mac address='%s'/>\n", mac);
if (type == 1 && bridge[0])
@ -906,7 +906,7 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
virBufferVSprintf(buf, " <script path='%s'/>\n", script);
if (ip[0])
virBufferVSprintf(buf, " <ip address='%s'/>\n", ip);
virBufferAdd(buf, " </interface>\n", -1);
virBufferAddLit(buf, " </interface>\n");
skipnic:
list = list->next;
@ -916,9 +916,9 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
if (hvm) {
if (xenXMConfigGetString(conf, "usbdevice", &str) == 0 && str) {
if (!strcmp(str, "tablet"))
virBufferAdd(buf, " <input type='tablet' bus='usb'/>\n", 37);
virBufferAddLit(buf, " <input type='tablet' bus='usb'/>\n");
else if (!strcmp(str, "mouse"))
virBufferAdd(buf, " <input type='mouse' bus='usb'/>\n", 36);
virBufferAddLit(buf, " <input type='mouse' bus='usb'/>\n");
/* Ignore else branch - probably some other non-input device we don't
support in libvirt yet */
}
@ -1006,23 +1006,23 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
if (keymap) {
virBufferVSprintf(buf, " keymap='%s'", keymap);
}
virBufferAdd(buf, "/>\n", 3);
virBufferAddLit(buf, "/>\n");
}
if (sdl) {
virBufferAdd(buf, " <graphics type='sdl'/>\n", -1);
virBufferAddLit(buf, " <graphics type='sdl'/>\n");
}
if (hvm) {
if (xenXMConfigGetString(conf, "serial", &str) == 0 && !strcmp(str, "pty")) {
virBufferAdd(buf, " <console/>\n", -1);
virBufferAddLit(buf, " <console/>\n");
}
} else { /* Paravirt implicitly always has a console */
virBufferAdd(buf, " <console/>\n", -1);
virBufferAddLit(buf, " <console/>\n");
}
virBufferAdd(buf, " </devices>\n", -1);
virBufferAddLit(buf, " </devices>\n");
virBufferAdd(buf, "</domain>\n", -1);
virBufferAddLit(buf, "</domain>\n");
xml = buf->content;
buf->content = NULL;
@ -1274,7 +1274,7 @@ int xenXMDomainPinVcpu(virDomainPtr domain,
n = i*8 + j;
if (comma) {
if (virBufferAdd (mapbuf, ",", 1) == -1) {
if (virBufferAddLit (mapbuf, ",") == -1) {
xenXMError (domain->conn, VIR_ERR_NO_MEMORY, __FUNCTION__);
virBufferFree (mapbuf);
return -1;

View File

@ -172,7 +172,7 @@ virSaveCpuSet(virConnectPtr conn, char *cpuset, int maxcpu)
start = cur;
} else if (start != -1) {
if (!first)
virBufferAdd(buf, ",", -1);
virBufferAddLit(buf, ",");
else
first = 0;
if (cur == start + 1)
@ -185,7 +185,7 @@ virSaveCpuSet(virConnectPtr conn, char *cpuset, int maxcpu)
}
if (start != -1) {
if (!first)
virBufferAdd(buf, ",", -1);
virBufferAddLit(buf, ",");
if (maxcpu == start + 1)
virBufferVSprintf(buf, "%d", start);
else
@ -384,9 +384,9 @@ virParseXenCpuTopology(virConnectPtr conn, virBufferPtr xml,
goto memory_error;
}
}
ret = virBufferAdd(xml, "\
ret = virBufferAddLit(xml, "\
</cpus>\n\
</cell>\n", -1);
</cell>\n");
if (ret < 0)
goto memory_error;
@ -718,15 +718,15 @@ virDomainParseXMLGraphicsDescImage(virConnectPtr conn ATTRIBUTE_UNUSED,
graphics_type = xmlGetProp(node, BAD_CAST "type");
if (graphics_type != NULL) {
if (xmlStrEqual(graphics_type, BAD_CAST "sdl")) {
virBufferAdd(buf, "(sdl 1)", 7);
virBufferAddLit(buf, "(sdl 1)", 7);
/* TODO:
* Need to understand sdl options
*
*virBufferAdd(buf, "(display localhost:10.0)", 24);
*virBufferAdd(buf, "(xauthority /root/.Xauthority)", 30);
*virBufferAddLit(buf, "(display localhost:10.0)");
*virBufferAddLit(buf, "(xauthority /root/.Xauthority)");
*/
} else if (xmlStrEqual(graphics_type, BAD_CAST "vnc")) {
virBufferAdd(buf, "(vnc 1)", 7);
virBufferAddLit(buf, "(vnc 1)");
if (xendConfigVersion >= 2) {
xmlChar *vncport = xmlGetProp(node, BAD_CAST "port");
xmlChar *vnclisten = xmlGetProp(node, BAD_CAST "listen");
@ -737,7 +737,7 @@ virDomainParseXMLGraphicsDescImage(virConnectPtr conn ATTRIBUTE_UNUSED,
long port = strtol((const char *) vncport, NULL, 10);
if (port == -1)
virBufferAdd(buf, "(vncunused 1)", 13);
virBufferAddLit(buf, "(vncunused 1)");
else if (port >= 5900)
virBufferVSprintf(buf, "(vncdisplay %ld)",
port - 5900);
@ -784,18 +784,18 @@ virDomainParseXMLGraphicsDescVFB(virConnectPtr conn ATTRIBUTE_UNUSED,
graphics_type = xmlGetProp(node, BAD_CAST "type");
if (graphics_type != NULL) {
virBufferAdd(buf, "(device (vkbd))", 15);
virBufferAdd(buf, "(device (vfb ", 13);
virBufferAddLit(buf, "(device (vkbd))");
virBufferAddLit(buf, "(device (vfb ");
if (xmlStrEqual(graphics_type, BAD_CAST "sdl")) {
virBufferAdd(buf, "(type sdl)", 10);
virBufferAddLit(buf, "(type sdl)");
/* TODO:
* Need to understand sdl options
*
*virBufferAdd(buf, "(display localhost:10.0)", 24);
*virBufferAdd(buf, "(xauthority /root/.Xauthority)", 30);
*virBufferAddLit(buf, "(display localhost:10.0)");
*virBufferAddLit(buf, "(xauthority /root/.Xauthority)");
*/
} else if (xmlStrEqual(graphics_type, BAD_CAST "vnc")) {
virBufferAdd(buf, "(type vnc)", 10);
virBufferAddLit(buf, "(type vnc)");
xmlChar *vncport = xmlGetProp(node, BAD_CAST "port");
xmlChar *vnclisten = xmlGetProp(node, BAD_CAST "listen");
xmlChar *vncpasswd = xmlGetProp(node, BAD_CAST "passwd");
@ -805,7 +805,7 @@ virDomainParseXMLGraphicsDescVFB(virConnectPtr conn ATTRIBUTE_UNUSED,
long port = strtol((const char *) vncport, NULL, 10);
if (port == -1)
virBufferAdd(buf, "(vncunused 1)", 13);
virBufferAddLit(buf, "(vncunused 1)");
else if (port >= 5900)
virBufferVSprintf(buf, "(vncdisplay %ld)",
port - 5900);
@ -824,7 +824,7 @@ virDomainParseXMLGraphicsDescVFB(virConnectPtr conn ATTRIBUTE_UNUSED,
xmlFree(keymap);
}
}
virBufferAdd(buf, "))", 2);
virBufferAddLit(buf, "))");
xmlFree(graphics_type);
}
return 0;
@ -910,7 +910,7 @@ virDomainParseXMLOSDescHVM(virConnectPtr conn, xmlNodePtr node,
virXMLError(conn, VIR_ERR_OS_TYPE, (const char *) type, 0);
return (-1);
}
virBufferAdd(buf, "(image (hvm ", 12);
virBufferAddLit(buf, "(image (hvm ");
if (loader == NULL) {
virXMLError(conn, VIR_ERR_NO_KERNEL, NULL, 0);
goto error;
@ -980,13 +980,13 @@ virDomainParseXMLOSDescHVM(virConnectPtr conn, xmlNodePtr node,
}
if (virXPathNode("/domain/features/acpi", ctxt) != NULL)
virBufferAdd(buf, "(acpi 1)", 8);
virBufferAddLit(buf, "(acpi 1)");
if (virXPathNode("/domain/features/apic", ctxt) != NULL)
virBufferAdd(buf, "(apic 1)", 8);
virBufferAddLit(buf, "(apic 1)");
if (virXPathNode("/domain/features/pae", ctxt) != NULL)
virBufferAdd(buf, "(pae 1)", 7);
virBufferAddLit(buf, "(pae 1)");
virBufferAdd(buf, "(usb 1)", 7);
virBufferAddLit(buf, "(usb 1)");
nb_nodes = virXPathNodeSet("/domain/devices/input", ctxt, &nodes);
if (nb_nodes > 0) {
int i;
@ -1015,7 +1015,7 @@ virDomainParseXMLOSDescHVM(virConnectPtr conn, xmlNodePtr node,
if (!isMouse) {
/* Nothing - implicit ps2 */
} else {
virBufferAdd(buf, "(usbdevice tablet)", 13);
virBufferAddLit(buf, "(usbdevice tablet)");
}
} else {
if (!strcmp((const char *) bus, "ps2")) {
@ -1028,9 +1028,9 @@ virDomainParseXMLOSDescHVM(virConnectPtr conn, xmlNodePtr node,
/* Nothing - implicit ps2 */
} else if (!strcmp((const char *) bus, "usb")) {
if (isMouse)
virBufferAdd(buf, "(usbdevice mouse)", 17);
virBufferAddLit(buf, "(usbdevice mouse)");
else
virBufferAdd(buf, "(usbdevice tablet)", 18);
virBufferAddLit(buf, "(usbdevice tablet)");
}
}
xmlFree(bus);
@ -1046,7 +1046,7 @@ virDomainParseXMLOSDescHVM(virConnectPtr conn, xmlNodePtr node,
goto error;
}
if (res) {
virBufferAdd(buf, "(serial pty)", 12);
virBufferAddLit(buf, "(serial pty)");
}
/* HVM graphics for xen <= 3.0.5 */
@ -1064,11 +1064,11 @@ virDomainParseXMLOSDescHVM(virConnectPtr conn, xmlNodePtr node,
str = virXPathString("string(/domain/clock/@offset)", ctxt);
if (str != NULL && !strcmp(str, "localtime")) {
virBufferAdd(buf, "(localtime 1)", 13);
virBufferAddLit(buf, "(localtime 1)");
}
free(str);
virBufferAdd(buf, "))", 2);
virBufferAddLit(buf, "))");
return (0);
@ -1147,7 +1147,7 @@ virDomainParseXMLOSDescPV(virConnectPtr conn, xmlNodePtr node,
virXMLError(conn, VIR_ERR_OS_TYPE, (const char *) type, 0);
return (-1);
}
virBufferAdd(buf, "(image (linux ", 14);
virBufferAddLit(buf, "(image (linux ");
if (kernel == NULL) {
virXMLError(conn, VIR_ERR_NO_KERNEL, NULL, 0);
return (-1);
@ -1174,7 +1174,7 @@ virDomainParseXMLOSDescPV(virConnectPtr conn, xmlNodePtr node,
}
error:
virBufferAdd(buf, "))", 2);
virBufferAddLit(buf, "))");
return (0);
}
@ -1304,14 +1304,14 @@ virDomainParseXMLDiskDesc(virConnectPtr conn, xmlNodePtr node,
}
virBufferAdd(buf, "(device ", 8);
virBufferAddLit(buf, "(device ");
/* Normally disks are in a (device (vbd ...)) block
* but blktap disks ended up in a differently named
* (device (tap ....)) block.... */
if (drvName && !strcmp((const char *) drvName, "tap")) {
virBufferAdd(buf, "(tap ", 5);
virBufferAddLit(buf, "(tap ");
} else {
virBufferAdd(buf, "(vbd ", 5);
virBufferAddLit(buf, "(vbd ");
}
if (hvm) {
@ -1358,8 +1358,8 @@ virDomainParseXMLDiskDesc(virConnectPtr conn, xmlNodePtr node,
else
virBufferVSprintf(buf, "(mode 'w')");
virBufferAdd(buf, ")", 1);
virBufferAdd(buf, ")", 1);
virBufferAddLit(buf, ")");
virBufferAddLit(buf, ")");
cleanup:
if (drvType)
@ -1442,7 +1442,7 @@ virDomainParseXMLIfDesc(virConnectPtr conn ATTRIBUTE_UNUSED,
cur = cur->next;
}
virBufferAdd(buf, "(vif ", 5);
virBufferAddLit(buf, "(vif ");
if (mac != NULL) {
unsigned int addr[12];
int tmp = sscanf((const char *) mac,
@ -1496,9 +1496,9 @@ virDomainParseXMLIfDesc(virConnectPtr conn ATTRIBUTE_UNUSED,
* from Xen 3.1.0
*/
if ((hvm) && (xendConfigVersion < 4))
virBufferAdd(buf, "(type ioemu)", 12);
virBufferAddLit(buf, "(type ioemu)");
virBufferAdd(buf, ")", 1);
virBufferAddLit(buf, ")");
ret = 0;
error:
if (mac != NULL)
@ -1583,7 +1583,7 @@ virDomainParseXMLDesc(virConnectPtr conn, const char *xmldesc, char **name,
}
xmlFree(prop);
}
virBufferAdd(&buf, "(vm ", 4);
virBufferAddLit(&buf, "(vm ");
ctxt = xmlXPathNewContext(xml);
if (ctxt == NULL) {
goto error;
@ -1748,7 +1748,7 @@ virDomainParseXMLDesc(virConnectPtr conn, const char *xmldesc, char **name,
nb_nodes = virXPathNodeSet("/domain/devices/interface", ctxt, &nodes);
if (nb_nodes > 0) {
for (i = 0; i < nb_nodes; i++) {
virBufferAdd(&buf, "(device ", 8);
virBufferAddLit(&buf, "(device ");
res =
virDomainParseXMLIfDesc(conn, nodes[i], &buf, hvm,
xendConfigVersion);
@ -1756,7 +1756,7 @@ virDomainParseXMLDesc(virConnectPtr conn, const char *xmldesc, char **name,
free(nodes);
goto error;
}
virBufferAdd(&buf, ")", 1);
virBufferAddLit(&buf, ")");
}
free(nodes);
}
@ -1779,7 +1779,7 @@ virDomainParseXMLDesc(virConnectPtr conn, const char *xmldesc, char **name,
}
virBufferAdd(&buf, ")", 1); /* closes (vm */
virBufferAddLit(&buf, ")"); /* closes (vm */
buf.content[buf.use] = 0;
xmlXPathFreeContext(ctxt);