tags 517592 + patch
thanks

Neil Williams wrote:
> GPE upstream is still using libsoup2.2 in the current SVN and it is the
> same with the new upstream release made during the Lenny cycle.

Hi Neil,

Since there are only 3 packages remaining to migrate, and the other two already
have patches, I thought I'd look into gpe-calendar. I've prepared a patch, it
builds fine with libsoup-2.4 and the package runs fine. I've only tested one
iCal from Google, so please test thoroughly and let me know if you find any
issues and can't work on it - I'll do it.

By the way, you will need to s/libsoup-2.2/libsoup-2.4/ in configure.ac and
regenerate configure.

The patch is against the version in the archive. If there are problems applying
it to trunk let me know.

Cheers,
Emilio
--- gpe-calendar-0.91/calendar-update.c	2007-02-16 22:08:20.000000000 +0100
+++ gpe-calendar-0.91.new/calendar-update.c	2009-03-03 19:10:38.000000000 +0100
@@ -115,7 +115,7 @@ g_io_buffer_get_flags (GIOChannel *chann
 }
 
 static GIOChannel *
-g_io_channel_from_buffer (char *buffer, int length)
+g_io_channel_from_buffer (const char *buffer, int length)
 {
   static GIOFuncs buffer_channel_funcs =
     {
@@ -139,7 +139,7 @@ g_io_channel_from_buffer (char *buffer, 
   channel->is_seekable = TRUE;
   channel->is_readable = TRUE;
 
-  b->buffer = buffer;
+  b->buffer = g_strdup (buffer);
   b->length = length;
 
   return channel;
@@ -295,7 +295,7 @@ need_retry (struct info *info)
 }
 
 static void
-pushed (SoupMessage *msg, gpointer data)
+pushed (SoupSession *session, SoupMessage *msg, gpointer data)
 {
   struct info *info = data;
 
@@ -365,7 +365,7 @@ calendar_push_internal (struct info *inf
 
   char *s = cal_export_as_string (info->ec);
   soup_message_set_request (msg, "text/calendar",
-			    SOUP_BUFFER_SYSTEM_OWNED, s, strlen (s));
+			    SOUP_MEMORY_TAKE, s, strlen (s));
 
   soup_session_queue_message (session, msg, pushed, info);
 }
@@ -386,7 +386,7 @@ calendar_push (EventCalendar *ec)
 }
 
 static void
-pulled (SoupMessage *msg, gpointer data)
+pulled (SoupSession *session, SoupMessage *msg, gpointer data)
 {
   struct info *info = data;
 
@@ -403,8 +403,8 @@ pulled (SoupMessage *msg, gpointer data)
     }
   else
     {
-      GIOChannel *channel = g_io_channel_from_buffer (msg->response.body,
-						      msg->response.length);
+      GIOChannel *channel = g_io_channel_from_buffer (msg->response_body->data,
+						      msg->response_body->length);
       GError *error = NULL;
       int res = cal_import_from_channel (info->ec, channel, &error);
       g_io_channel_unref (channel);

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to