diff --git a/ChangeLog b/ChangeLog index f2ca72c5ee..5056634c31 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +Tue Jun 26 18:30:00 EST 2007 Daniel P. Berrange + + * qemud/buf.c, qemud/buf.h: Remove obsolete files + * src/xml.c: remove virBuffer functions + * src/buf.c, src/buf.c, src/Makefile.am: Re-add virBuffer functions + * proxy/Makefile.am, qemud/Makefile.am, qemud/conf.c, + qemud/driver.c, src/conf.c, src/test.c, src/xen_internal.c, + src/xend_internal.c, src/xm_internal.c, src/xmlrpc.h, + tests/xmlrpc.test: Adapt to deal with new location of headers + for virBuffer functions. + Tue Jun 26 18:21:00 EST 2007 Daniel P. Berrange * qemud/conf.c, qemud/driver.c, qemud/buf.c, qemud/buf.h: diff --git a/proxy/Makefile.am b/proxy/Makefile.am index c32e7b17d4..487458de35 100644 --- a/proxy/Makefile.am +++ b/proxy/Makefile.am @@ -10,7 +10,7 @@ libexec_PROGRAMS = libvirt_proxy libvirt_proxy_SOURCES = libvirt_proxy.c @top_srcdir@/src/xend_internal.c \ @top_srcdir@/src/xen_internal.c @top_srcdir@/src/virterror.c \ @top_srcdir@/src/sexpr.c @top_srcdir@/src/xml.c \ - @top_srcdir@/src/xs_internal.c + @top_srcdir@/src/xs_internal.c @top_srcdir@/src/buf.c libvirt_proxy_LDFLAGS = $(WARN_CFLAGS) libvirt_proxy_DEPENDENCIES = libvirt_proxy_LDADD = diff --git a/qemud/Makefile.am b/qemud/Makefile.am index d9867eb825..7d6f1a8184 100644 --- a/qemud/Makefile.am +++ b/qemud/Makefile.am @@ -13,7 +13,7 @@ libvirt_qemud_SOURCES = \ bridge.c bridge.h \ iptables.c iptables.h \ uuid.c uuid.h \ - buf.c buf.h \ + ../src/buf.c \ protocol.h protocol.c \ remote_protocol.h remote_protocol.c \ remote.c \ diff --git a/qemud/conf.c b/qemud/conf.c index fdbb2d81e9..98168a1f15 100644 --- a/qemud/conf.c +++ b/qemud/conf.c @@ -45,19 +45,7 @@ #include "internal.h" #include "conf.h" #include "uuid.h" -#include "buf.h" - -extern void __virRaiseError(virConnectPtr conn, - virDomainPtr dom, - virNetworkPtr net, - int domain, - int code, - virErrorLevel level, - const char *str1, - const char *str2, - const char *str3, - int int1, int int2, const char *msg, ...) - ATTRIBUTE_FORMAT(printf, 12, 13); +#include "../src/buf.h" void qemudReportError(virConnectPtr conn, virDomainPtr dom, diff --git a/qemud/driver.c b/qemud/driver.c index 3971a0f715..071558f044 100644 --- a/qemud/driver.c +++ b/qemud/driver.c @@ -49,7 +49,7 @@ #include #include "event.h" -#include "buf.h" +#include "../src/buf.h" #include "driver.h" static int qemudSetCloseExec(int fd) { diff --git a/src/Makefile.am b/src/Makefile.am index fd596ae009..c86736c848 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -29,6 +29,7 @@ CLIENT_SOURCES = \ libvirt.c internal.h \ hash.c hash.h \ test.c test.h \ + buf.c buf.h \ xml.c xml.h \ xen_unified.c xen_unified.h \ xen_internal.c xen_internal.h \ diff --git a/qemud/buf.c b/src/buf.c similarity index 100% rename from qemud/buf.c rename to src/buf.c diff --git a/qemud/buf.h b/src/buf.h similarity index 100% rename from qemud/buf.h rename to src/buf.h diff --git a/src/conf.c b/src/conf.c index 7aad652995..8f4fc64cc7 100644 --- a/src/conf.c +++ b/src/conf.c @@ -18,7 +18,7 @@ #include #include "internal.h" -#include "xml.h" +#include "buf.h" #include "conf.h" /************************************************************************ diff --git a/src/test.c b/src/test.c index 2a1cc58ba2..922826b4e7 100644 --- a/src/test.c +++ b/src/test.c @@ -39,6 +39,7 @@ #include "internal.h" #include "test.h" #include "xml.h" +#include "buf.h" int testOpen(virConnectPtr conn, const char *name, diff --git a/src/xen_internal.c b/src/xen_internal.c index 75a6c4d43d..4221be356e 100644 --- a/src/xen_internal.c +++ b/src/xen_internal.c @@ -35,7 +35,7 @@ /* required for shutdown flags */ #include -#include "xml.h" +#include "buf.h" /* #define DEBUG */ /* diff --git a/src/xend_internal.c b/src/xend_internal.c index 27abafa03f..e1974e36f7 100644 --- a/src/xend_internal.c +++ b/src/xend_internal.c @@ -35,6 +35,7 @@ #include "internal.h" #include "sexpr.h" #include "xml.h" +#include "buf.h" #include "xen_unified.h" #include "xend_internal.h" #include "xen_internal.h" /* for DOM0_INTERFACE_VERSION */ diff --git a/src/xm_internal.c b/src/xm_internal.c index 04fd6611a7..261350537f 100644 --- a/src/xm_internal.c +++ b/src/xm_internal.c @@ -47,6 +47,7 @@ #include "hash.h" #include "internal.h" #include "xml.h" +#include "buf.h" typedef struct xenXMConfCache *xenXMConfCachePtr; typedef struct xenXMConfCache { diff --git a/src/xml.c b/src/xml.c index dc58b19a68..e5c59716b5 100644 --- a/src/xml.c +++ b/src/xml.c @@ -22,6 +22,7 @@ #include "hash.h" #include "sexpr.h" #include "xml.h" +#include "buf.h" #include "xs_internal.h" /* for xenStoreDomainGetNetworkID */ /** @@ -268,177 +269,6 @@ virXPathNodeSet(const char *xpath, xmlXPathContextPtr ctxt, xmlNodePtr **list) { } #endif /* !PROXY */ -/** - * virBufferGrow: - * @buf: the buffer - * @len: the minimum free size to allocate on top of existing used space - * - * Grow the available space of an XML buffer to at least @len bytes. - * - * Returns the new available space or -1 in case of error - */ -static int -virBufferGrow(virBufferPtr buf, unsigned int len) -{ - int size; - char *newbuf; - - if (buf == NULL) - return (-1); - if (len + buf->use < buf->size) - return (0); - - size = buf->use + len + 1000; - - newbuf = (char *) realloc(buf->content, size); - if (newbuf == NULL) { - virXMLError(NULL, VIR_ERR_NO_MEMORY, _("growing buffer"), size); - return (-1); - } - buf->content = newbuf; - buf->size = size; - return (buf->size - buf->use); -} - -/** - * virBufferAdd: - * @buf: the buffer to dump - * @str: the string - * @len: the number of bytes to add - * - * Add a string range to an XML buffer. if len == -1, the length of - * str is recomputed to the full string. - * - * Returns 0 successful, -1 in case of internal or API error. - */ -int -virBufferAdd(virBufferPtr buf, const char *str, int len) -{ - unsigned int needSize; - - if ((str == NULL) || (buf == NULL)) { - return -1; - } - if (len == 0) - return 0; - - if (len < 0) - len = strlen(str); - - needSize = buf->use + len + 2; - if (needSize > buf->size) { - if (!virBufferGrow(buf, needSize - buf->use)) { - return (-1); - } - } - /* XXX: memmove() is 2x slower than memcpy(), do we really need it? */ - memmove(&buf->content[buf->use], str, len); - buf->use += len; - buf->content[buf->use] = 0; - return (0); -} - -virBufferPtr -virBufferNew(unsigned int size) -{ - virBufferPtr buf; - - if (!(buf = malloc(sizeof(*buf)))) { - virXMLError(NULL, VIR_ERR_NO_MEMORY, _("allocate new buffer"), sizeof(*buf)); - return NULL; - } - if (size && (buf->content = malloc(size))==NULL) { - virXMLError(NULL, VIR_ERR_NO_MEMORY, _("allocate buffer content"), size); - free(buf); - return NULL; - } - buf->size = size; - buf->use = 0; - - return buf; -} - -void -virBufferFree(virBufferPtr buf) -{ - if (buf) { - if (buf->content) - free(buf->content); - free(buf); - } -} - -/** - * virBufferVSprintf: - * @buf: the buffer to dump - * @format: the format - * @argptr: the variable list of arguments - * - * Do a formatted print to an XML buffer. - * - * Returns 0 successful, -1 in case of internal or API error. - */ -int -virBufferVSprintf(virBufferPtr buf, const char *format, ...) -{ - int size, count; - va_list locarg, argptr; - - if ((format == NULL) || (buf == NULL)) { - return (-1); - } - size = buf->size - buf->use - 1; - va_start(argptr, format); - va_copy(locarg, argptr); - while (((count = vsnprintf(&buf->content[buf->use], size, format, - locarg)) < 0) || (count >= size - 1)) { - buf->content[buf->use] = 0; - va_end(locarg); - if (virBufferGrow(buf, 1000) < 0) { - return (-1); - } - size = buf->size - buf->use - 1; - va_copy(locarg, argptr); - } - va_end(locarg); - buf->use += count; - buf->content[buf->use] = 0; - return (0); -} - -/** - * virBufferStrcat: - * @buf: the buffer to dump - * @argptr: the variable list of strings, the last argument must be NULL - * - * Concatenate strings to an XML buffer. - * - * Returns 0 successful, -1 in case of internal or API error. - */ -int -virBufferStrcat(virBufferPtr buf, ...) -{ - va_list ap; - char *str; - - va_start(ap, buf); - - while ((str = va_arg(ap, char *)) != NULL) { - unsigned int len = strlen(str); - unsigned int needSize = buf->use + len + 2; - - if (needSize > buf->size) { - if (!virBufferGrow(buf, needSize - buf->use)) - return -1; - } - memcpy(&buf->content[buf->use], str, len); - buf->use += len; - buf->content[buf->use] = 0; - } - va_end(ap); - return 0; -} - #ifndef PROXY /** diff --git a/src/xml.h b/src/xml.h index 74e2cdfbbd..a8c7b3cebc 100644 --- a/src/xml.h +++ b/src/xml.h @@ -15,26 +15,6 @@ extern "C" { #endif -/** - * virBuffer: - * - * A buffer structure. - */ -typedef struct _virBuffer virBuffer; -typedef virBuffer *virBufferPtr; -struct _virBuffer { - char *content; /* The buffer content UTF8 */ - unsigned int use; /* The buffer size used */ - unsigned int size; /* The buffer size */ -}; - -virBufferPtr virBufferNew(unsigned int size); -void virBufferFree(virBufferPtr buf); -int virBufferAdd(virBufferPtr buf, const char *str, int len); -int virBufferVSprintf(virBufferPtr buf, const char *format, ...) - ATTRIBUTE_FORMAT(printf, 2, 3); -int virBufferStrcat(virBufferPtr buf, ...); - int virXPathBoolean (const char *xpath, xmlXPathContextPtr ctxt); char * virXPathString (const char *xpath, diff --git a/src/xmlrpc.h b/src/xmlrpc.h index 3a8b750f62..7ecace105d 100644 --- a/src/xmlrpc.h +++ b/src/xmlrpc.h @@ -19,7 +19,7 @@ #include #include -#include "xml.h" +#include "buf.h" typedef enum _xmlRpcValueType xmlRpcValueType; diff --git a/tests/xmlrpctest.c b/tests/xmlrpctest.c index 2c180680af..c15798969e 100644 --- a/tests/xmlrpctest.c +++ b/tests/xmlrpctest.c @@ -20,7 +20,7 @@ #include #include "libvirt/libvirt.h" -#include "xml.h" +#include "buf.h" #include "xmlrpc.h" #include "testutils.h"