File 0001-Bug-681321-Support-both-old-and-new-buf-libxml2-APIs.patch of Package mingw32-evolution

From 95b7544a729b19c3eb85ea9e376e2375388105f4 Mon Sep 17 00:00:00 2001
From: Hib Eris <hib@hiberis.nl>
Date: Wed, 10 Apr 2013 23:39:43 +0200
Subject: [PATCH] Bug 681321 - Support both old and new-buf libxml2 APIs

Backported from commit ff88d1f11176233438cace72da46a54c479495ab
---
 plugins/caldav/caldav-browse-server.c |   19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/plugins/caldav/caldav-browse-server.c b/plugins/caldav/caldav-browse-server.c
index e7d6140..9e6f892 100644
--- a/plugins/caldav/caldav-browse-server.c
+++ b/plugins/caldav/caldav-browse-server.c
@@ -945,6 +945,19 @@ poll_for_message_sent_cb (gpointer data)
 	return again;
 }
 
+static gconstpointer
+compat_libxml_output_buffer_get_content (xmlOutputBufferPtr buf,
+                                         gsize *out_len)
+{
+#ifdef LIBXML2_NEW_BUFFER
+       *out_len = xmlOutputBufferGetSize (buf);
+       return xmlOutputBufferGetContent (buf);
+#else
+       *out_len = buf->buffer->use;
+       return buf->buffer->content;
+#endif
+}
+
 static void
 send_xml_message (xmlDocPtr doc, gboolean depth_1, const gchar *url, GObject *dialog, process_message_cb cb, gpointer cb_user_data, const gchar *info)
 {
@@ -953,6 +966,9 @@ send_xml_message (xmlDocPtr doc, gboolean depth_1, const gchar *url, GObject *di
 	SoupSession *session;
 	SoupMessage *message;
 	xmlOutputBufferPtr buf;
+	gconstpointer content;
+	gsize length;
+
 	guint poll_id;
 	struct poll_data *pd;
 
@@ -979,7 +995,8 @@ send_xml_message (xmlDocPtr doc, gboolean depth_1, const gchar *url, GObject *di
 
 	soup_message_headers_append (message->request_headers, "User-Agent", "Evolution/" VERSION);
 	soup_message_headers_append (message->request_headers, "Depth", depth_1 ? "1" : "0");
-	soup_message_set_request (message, "application/xml", SOUP_MEMORY_COPY, (const gchar *) buf->buffer->content, buf->buffer->use);
+	content = compat_libxml_output_buffer_get_content (buf, &length);
+	soup_message_set_request (message, "application/xml", SOUP_MEMORY_COPY, content, length);
 
 	/* Clean up the memory */
 	xmlOutputBufferClose (buf);
-- 
1.7.10.4

openSUSE Build Service is sponsored by