58 lines
1.8 KiB
Diff
58 lines
1.8 KiB
Diff
|
From ff88d1f11176233438cace72da46a54c479495ab Mon Sep 17 00:00:00 2001
|
||
|
From: Matthew Barnes <mbarnes@redhat.com>
|
||
|
Date: Mon, 13 Aug 2012 15:41:10 +0000
|
||
|
Subject: Bug 681321 - Support both old and new-buf libxml2 APIs
|
||
|
|
||
|
libxml2 changed the API for xmlOutputBuffer incompatibly.
|
||
|
See https://mail.gnome.org/archives/desktop-devel-list/2012-August/msg00004.html
|
||
|
---
|
||
|
diff --git a/modules/cal-config-caldav/e-caldav-chooser.c b/modules/cal-config-caldav/e-caldav-chooser.c
|
||
|
index 55143f0..fa5c9b7 100644
|
||
|
--- a/modules/cal-config-caldav/e-caldav-chooser.c
|
||
|
+++ b/modules/cal-config-caldav/e-caldav-chooser.c
|
||
|
@@ -111,6 +111,19 @@ G_DEFINE_DYNAMIC_TYPE_EXTENDED (
|
||
|
E_TYPE_SOURCE_AUTHENTICATOR,
|
||
|
e_caldav_chooser_authenticator_init))
|
||
|
|
||
|
+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
|
||
|
context_cancel_message (GCancellable *cancellable,
|
||
|
Context *context)
|
||
|
@@ -203,6 +216,8 @@ caldav_chooser_new_propfind (SoupSession *session,
|
||
|
xmlNodePtr node;
|
||
|
xmlNsPtr ns;
|
||
|
xmlOutputBufferPtr output;
|
||
|
+ gconstpointer content;
|
||
|
+ gsize length;
|
||
|
gpointer key;
|
||
|
va_list va;
|
||
|
|
||
|
@@ -268,9 +283,11 @@ caldav_chooser_new_propfind (SoupSession *session,
|
||
|
xmlNodeDumpOutput (output, doc, root, 0, 1, NULL);
|
||
|
xmlOutputBufferFlush (output);
|
||
|
|
||
|
+ content = compat_libxml_output_buffer_get_content (output, &length);
|
||
|
+
|
||
|
soup_message_set_request (
|
||
|
message, "application/xml", SOUP_MEMORY_COPY,
|
||
|
- (gchar *) output->buffer->content, output->buffer->use);
|
||
|
+ content, length);
|
||
|
|
||
|
xmlOutputBufferClose (output);
|
||
|
|
||
|
--
|
||
|
cgit v0.9.0.2
|
||
|
|