SOURCES: evolution-pilot-link-0.12.patch (NEW) - adds support for ...
megabajt
megabajt at pld-linux.org
Mon Feb 5 11:19:15 CET 2007
Author: megabajt Date: Mon Feb 5 10:19:15 2007 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- adds support for pilot-link 0.12
---- Files affected:
SOURCES:
evolution-pilot-link-0.12.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/evolution-pilot-link-0.12.patch
diff -u /dev/null SOURCES/evolution-pilot-link-0.12.patch:1.1
--- /dev/null Mon Feb 5 11:19:15 2007
+++ SOURCES/evolution-pilot-link-0.12.patch Mon Feb 5 11:19:10 2007
@@ -0,0 +1,941 @@
+Index: acinclude.m4
+===================================================================
+RCS file: /cvs/gnome/evolution/acinclude.m4,v
+retrieving revision 1.9
+diff -u -r1.9 acinclude.m4
+--- acinclude.m4 12 Jun 2006 12:52:02 -0000 1.9
++++ acinclude.m4 17 Nov 2006 07:29:48 -0000
+@@ -268,3 +268,119 @@
+ AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
+ AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
+ ])
++
++# PILOT_LINK_CHECK
++# Adds --with-pisock and determines the verion of the pisock
++#
++
++AC_SUBST(PISOCK_CFLAGS)
++AC_SUBST(PISOCK_LIBS)
++
++AC_DEFUN([PILOT_LINK_HOOK],[
++ AC_ARG_WITH(pisock,
++ [ --with-pisock Specify prefix for pisock files],[
++ if test x$withval = xyes; then
++ dnl Note that an empty true branch is not valid sh syntax.
++ ifelse([$1], [], :, [$1])
++ else
++ PISOCK_CFLAGS="-I$withval/include"
++ incdir="$withval/include"
++ PISOCK_LIBS="-L$withval/lib -lpisock -lpisync"
++ AC_MSG_CHECKING("for existance of $withval/lib/libpisock.so")
++ if test -r $withval/lib/libpisock.so; then
++ AC_MSG_RESULT(yes)
++ else
++ AC_MSG_ERROR([Unable to find libpisock. Try http://www.pilot-link.org.])
++ fi
++ fi
++ ])
++
++ if test x$PISOCK_CFLAGS = x; then
++ AC_CHECK_HEADER(pi-version.h, [incdir="/usr/include"], [
++ AC_CHECK_HEADER(libpisock/pi-version.h, [PISOCK_CFLAGS="-I/usr/include/libpisock"
++ piversion_include="libpisock/pi-version.h"
++ incdir="/usr/include/libpisock"
++ ], [
++ AC_CHECK_HEADER($prefix/include/pi-version.h, [PISOCK_CFLAGS="-I$prefix/include/libpisock"
++ piversion_include="$prefix/include/pi-version.h"
++ if test x$PISOCK_LIBDIR = x; then
++ incdir="$prefix/include"
++ PISOCK_LIBS="-L$prefix/lib -lpisock -lpisync"
++ fi ],
++ AC_MSG_ERROR([Unable to find pi-version.h]))
++ ])
++ ])
++ fi
++
++ if test "x$PISOCK_LIBS" = "x"; then
++ AC_CHECK_LIB(pisock, pi_accept, [ PISOCK_LIBS="-lpisock -lpisync"],
++ [ AC_MSG_ERROR([Unable to find libpisock. Try http://www.pilot-link.org.]) ])
++ fi
++
++ AC_ARG_ENABLE(pilotlinktest,
++ [ --enable-pilotlinktest Test for correct version of pilot-link],
++ [testplversion=$enableval],
++ [ testplversion=yes ]
++ )
++
++ if test x$piversion_include = x; then
++ piversion_include="pi-version.h"
++ fi
++
++ pi_major=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_VERSION'|sed 's/#define PILOT_LINK_VERSION \([[0-9]]*\)/\1/'`
++ pi_minor=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_MAJOR'|sed 's/#define PILOT_LINK_MAJOR \([[0-9]]*\)/\1/'`
++ pi_micro=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_MINOR'|sed 's/#define PILOT_LINK_MINOR \([[0-9]]*\)/\1/'`
++ pi_patch=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_PATCH'|sed 's/#define PILOT_LINK_PATCH \"\(.*\)\"/\1/'`
++
++ PILOT_LINK_MAJOR="$pi_major"
++ PILOT_LINK_MINOR="$pi_minor"
++ PILOT_LINK_MICRO="$pi_micro"
++ PILOT_LINK_PATCH="$pi_patch"
++ PILOT_LINK_VERSION="$pi_major.$pi_minor.$pi_micro$pi_patch"
++
++ if test x$testplversion = xyes; then
++ AC_MSG_CHECKING([for pilot-link version >= $1])
++ pl_ma=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
++ pl_mi=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
++ pl_mc=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
++ CFLAGS_save="$CFLAGS"
++ CFLAGS="$CFLAGS $PISOCK_CFLAGS"
++ AC_TRY_RUN(
++ [
++ #include <$piversion_include>
++ int main(int argc,char *argv[]) {
++ if (PILOT_LINK_VERSION == $pl_ma) {
++ if (PILOT_LINK_MAJOR == $pl_mi) {
++ if (PILOT_LINK_MINOR >= $pl_mc) {
++ return 0;
++ }
++ } else if (PILOT_LINK_MAJOR > $pl_mi) {
++ return 0;
++ }
++ } else if (PILOT_LINK_VERSION > $pl_ma) {
++ return 0;
++ }
++ return 1;
++ }
++ ],
++ [AC_MSG_RESULT([yes (found $PILOT_LINK_VERSION)])],
++ [AC_MSG_ERROR([pilot-link >= $1 required])],
++ [AC_MSG_WARN([No action taken for crosscompile])]
++ )
++ CFLAGS="$CFLAGS_save"
++ fi
++
++ unset piversion_include
++ unset pi_verion
++ unset pi_major
++ unset pi_minor
++ unset pi_patch
++ unset incdir
++ unset pl_mi
++ unset pl_ma
++ unset pl_ve
++])
++
++AC_DEFUN([PILOT_LINK_CHECK],[
++ PILOT_LINK_HOOK($1,[],nofailure)
++])
+Index: configure.in
+===================================================================
+RCS file: /cvs/gnome/evolution/configure.in,v
+retrieving revision 1.920
+diff -u -r1.920 configure.in
+--- configure.in 14 Nov 2006 17:45:52 -0000 1.920
++++ configure.in 17 Nov 2006 07:29:48 -0000
+@@ -606,8 +606,22 @@
+ fi
+ fi
+ AM_CONDITIONAL(ENABLE_PILOT_CONDUITS, test "x$enable_pilot_conduits" = "xyes")
+-if test x$enable_pilot_conduits = xyes; then
+- msg_pilot=yes
++dnl ******************************
++dnl If pilot conduits are enabled, check version of pilot-link
++dnl ******************************
++ if test x$enable_pilot_conduits = xyes; then
++ msg_pilot=yes
++
++ PILOT_LINK_CHECK(0.11.4)
++ AC_SUBST(PILOT_LINK_MAJOR)
++ AC_SUBST(PILOT_LINK_MINOR)
++ AC_SUBST(PILOT_LINK_MICRO)
++ AC_SUBST(PILOT_LINK_PATCH)
++ AC_SUBST(PILOT_LINK_VERSION)
++
++ if test $PILOT_LINK_MINOR -ge 12; then
++ AC_DEFINE(PILOT_LINK_0_12,,[Building against pilot-link 0.12.0 or greater])
++ fi
+ else
+ msg_pilot=no
+ fi
+Index: addressbook/conduit/address-conduit.c
+===================================================================
+RCS file: /cvs/gnome/evolution/addressbook/conduit/address-conduit.c,v
+retrieving revision 1.88
+diff -u -r1.88 address-conduit.c
+--- addressbook/conduit/address-conduit.c 6 Dec 2005 08:43:37 -0000 1.88
++++ addressbook/conduit/address-conduit.c 17 Nov 2006 07:29:48 -0000
+@@ -462,6 +462,9 @@
+ {
+ static char buff[ 4096 ];
+ struct Address addr;
++#ifdef PILOT_LINK_0_12
++ pi_buffer_t * buffer;
++#endif
+
+ if (remote == NULL) {
+ sprintf (buff, "[NULL]");
+@@ -469,7 +472,21 @@
+ }
+
+ memset (&addr, 0, sizeof (struct Address));
++#ifdef PILOT_LINK_0_12
++ buffer = pi_buffer_new(DLP_BUF_SIZE);
++ if(buffer == NULL){
++ sprintf (buff, "[NULL]");
++ return buff;
++ }
++ if(pi_buffer_append(buffer, remote->record, remote->length)==NULL){
++ sprintf (buff, "[NULL]");
++ return buff;
++ }
++ unpack_Address (&addr, buffer, address_v1);
++ pi_buffer_free(buffer);
++#else
+ unpack_Address (&addr, remote->record, remote->length);
++#endif
+
+ g_snprintf (buff, 4096, "['%s' '%s' '%s']",
+ addr.entry[entryLastname] ?
+@@ -792,6 +809,9 @@
+ {
+ GnomePilotRecord p;
+ static char record[0xffff];
++#ifdef PILOT_LINK_0_12
++ pi_buffer_t * buffer;
++#endif
+
+ g_assert (local->addr != NULL );
+
+@@ -804,9 +824,25 @@
+ p.secret = local->local.secret;
+
+ /* Generate pilot record structure */
++
++#ifdef PILOT_LINK_0_12
++ buffer = pi_buffer_new(DLP_BUF_SIZE);
++ if(buffer == NULL){
++ pi_set_error(ctxt->dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
++ return p;
++ }
++
++ pack_Address (local->addr, buffer, address_v1);
++
++ p.record = g_new0(unsigned char, buffer->used);
++ p.length = buffer->used;
++ memcpy(p.record, buffer->data, buffer->used);
++
++ pi_buffer_free(buffer);
++#else
+ p.record = record;
+ p.length = pack_Address (local->addr, p.record, 0xffff);
+-
++#endif
+ return p;
+ }
+
+@@ -834,16 +870,34 @@
+ */
+ if (local->local.ID != 0) {
+ struct Address addr;
+- char record[0xffff];
+ int cat = 0;
++#ifdef PILOT_LINK_0_12
++ pi_buffer_t * record;
++ record = pi_buffer_new(DLP_BUF_SIZE);
++ if(record == NULL){
++ pi_set_error(ctxt->dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
++ return;
++ }
++#else
++ char record[0xffff];
++#endif
+
+ if (dlp_ReadRecordById (ctxt->dbi->pilot_socket,
+ ctxt->dbi->db_handle,
++#ifdef PILOT_LINK_0_12
++ local->local.ID, record,
++ NULL, NULL, &cat) > 0) {
++#else
+ local->local.ID, &record,
+ NULL, NULL, NULL, &cat) > 0) {
++#endif
+ local->local.category = cat;
+ memset (&addr, 0, sizeof (struct Address));
++#ifdef PILOT_LINK_0_12
++ unpack_Address (&addr, record, address_v1);
++#else
+ unpack_Address (&addr, record, 0xffff);
++#endif
+ for (i = 0; i < 5; i++) {
+ if (addr.entry[entryPhone1 + i])
+ local->addr->entry[entryPhone1 + i] =
+@@ -858,6 +912,9 @@
+ }
+ free_Address (&addr);
+ }
++#ifdef PILOT_LINK_0_12
++ pi_buffer_free (record);
++#endif
+ }
+
+ local->addr->entry[entryFirstname] = e_pilot_utf8_to_pchar (e_contact_get_const (contact, E_CONTACT_GIVEN_NAME));
+@@ -1019,11 +1076,27 @@
+ EContactField next_mail, next_home, next_work, next_fax;
+ EContactField next_other, next_main, next_pager, next_mobile;
+ int i;
+-
++#ifdef PILOT_LINK_0_12
++ pi_buffer_t * buffer;
++#endif
+ g_return_val_if_fail(remote!=NULL,NULL);
+ memset (&address, 0, sizeof (struct Address));
+- unpack_Address (&address, remote->record, remote->length);
++#ifdef PILOT_LINK_0_12
++ buffer = pi_buffer_new(DLP_BUF_SIZE);
++ if(buffer == NULL){
++ pi_set_error(ctxt->dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
++ return NULL;
++ }
+
++ if(pi_buffer_append(buffer, remote->record, remote->length)==NULL){
++ pi_set_error(ctxt->dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
++ return NULL;
++ }
++ unpack_Address (&address, buffer, address_v1);
++ pi_buffer_free(buffer);
++#else
++ unpack_Address (&address, remote->record, remote->length);
++#endif
+ if (in_contact == NULL)
+ contact = e_contact_new ();
+ else
+@@ -1217,6 +1290,9 @@
+ char *change_id;
+ char *auth;
+ gint num_records, add_records = 0, mod_records = 0, del_records = 0;
++#ifdef PILOT_LINK_0_12
++ pi_buffer_t *buffer;
++#endif
+
+ abs_conduit = GNOME_PILOT_CONDUIT_SYNC_ABS (conduit);
+
+@@ -1302,10 +1378,19 @@
+ gnome_pilot_conduit_sync_abs_set_num_updated_local_records (abs_conduit, mod_records);
+ gnome_pilot_conduit_sync_abs_set_num_deleted_local_records(abs_conduit, del_records);
+
++#ifdef PILOT_LINK_0_12
++ buffer = pi_buffer_new(DLP_BUF_SIZE);
++ if(buffer == NULL){
++ return pi_set_error(dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
++ }
++
++ len = dlp_ReadAppBlock (dbi->pilot_socket, dbi->db_handle, 0,
++ DLP_BUF_SIZE, buffer);
++#else
+ buf = (unsigned char*)g_malloc (0xffff);
+ len = dlp_ReadAppBlock (dbi->pilot_socket, dbi->db_handle, 0,
+ (unsigned char *)buf, 0xffff);
+-
++#endif
+ if (len < 0) {
+ WARN (_("Could not read pilot's Address application block"));
+ WARN ("dlp_ReadAppBlock(...) = %d", len);
+@@ -1313,9 +1398,13 @@
+ _("Could not read pilot's Address application block"));
+ return -1;
+ }
++#ifdef PILOT_LINK_0_12
++ unpack_AddressAppInfo (&(ctxt->ai), buffer->data, len);
++ pi_buffer_free (buffer);
++#else
+ unpack_AddressAppInfo (&(ctxt->ai), buf, len);
+ g_free (buf);
+-
++#endif
+ check_for_slow_setting (conduit, ctxt);
+ if (ctxt->cfg->sync_type == GnomePilotConduitSyncTypeCopyToPilot
+ || ctxt->cfg->sync_type == GnomePilotConduitSyncTypeCopyFromPilot)
+Index: calendar/conduits/calendar/calendar-conduit.c
+===================================================================
+RCS file: /cvs/gnome/evolution/calendar/conduits/calendar/calendar-conduit.c,v
+retrieving revision 1.132
+diff -u -r1.132 calendar-conduit.c
+--- calendar/conduits/calendar/calendar-conduit.c 23 Dec 2005 04:39:34 -0000 1.132
++++ calendar/conduits/calendar/calendar-conduit.c 17 Nov 2006 07:29:48 -0000
+@@ -413,6 +413,9 @@
+ {
+ static char buff[ 4096 ];
+ struct Appointment appt;
++#ifdef PILOT_LINK_0_12
++ pi_buffer_t * buffer;
++#endif
+
+ if (remote == NULL) {
+ sprintf (buff, "[NULL]");
+@@ -420,8 +423,22 @@
+ }
+
+ memset (&appt, 0, sizeof (struct Appointment));
++#ifdef PILOT_LINK_0_12
++ buffer = pi_buffer_new(DLP_BUF_SIZE);
++ if(buffer == NULL){
++ sprintf (buff, "[NULL]");
++ return buff;
++ }
++ if(pi_buffer_append(buffer, remote->record, remote->length)==NULL){
++ sprintf (buff, "[NULL]");
++ return buff;
++ }
++
++ unpack_Appointment (&appt, buffer, datebook_v1);
++ pi_buffer_free(buffer);
++#else
+ unpack_Appointment (&appt, remote->record, remote->length);
+-
++#endif
+ g_snprintf (buff, 4096, "[%ld %ld '%s' '%s']",
+ mktime (&appt.begin),
+ mktime (&appt.end),
+@@ -819,6 +836,9 @@
+ {
+ GnomePilotRecord p;
+ static char record[0xffff];
++#ifdef PILOT_LINK_0_12
++ pi_buffer_t * buffer;
++#endif
+
+ g_assert (local->comp != NULL);
+ g_assert (local->appt != NULL );
+@@ -830,9 +850,23 @@
+ p.secret = local->local.secret;
+
+ /* Generate pilot record structure */
++#ifdef PILOT_LINK_0_12
++ buffer = pi_buffer_new(DLP_BUF_SIZE);
++ if(buffer == NULL){
++ pi_set_error(ctxt->dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
++ return p;
++ }
++
++ pack_Appointment (local->appt, buffer, datebook_v1);
++ p.record = g_new0(unsigned char, buffer->used);
++ p.length = buffer->used;
++ memcpy(p.record, buffer->data, buffer->used);
++
++ pi_buffer_free(buffer);
++#else
+ p.record = record;
+ p.length = pack_Appointment (local->appt, p.record, 0xffff);
+-
++#endif
+ return p;
+ }
+
+@@ -867,22 +901,44 @@
+ * we don't overwrite them
+ */
+ if (local->local.ID != 0) {
++ int cat = 0;
++#ifdef PILOT_LINK_0_12
++ struct Appointment appt;
++ pi_buffer_t * record;
++
++ record = pi_buffer_new(DLP_BUF_SIZE);
++ if(record == NULL){
++ pi_set_error(ctxt->dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
++ return;
++ }
++#else
+ struct Appointment appt;
+ char record[0xffff];
+- int cat = 0;
+-
++#endif
+ if (dlp_ReadRecordById (ctxt->dbi->pilot_socket,
+ ctxt->dbi->db_handle,
++#ifdef PILOT_LINK_0_12
++ local->local.ID, record,
++ NULL, NULL, &cat) > 0) {
++#else
+ local->local.ID, &record,
+ NULL, NULL, NULL, &cat) > 0) {
++#endif
+ local->local.category = cat;
+ memset (&appt, 0, sizeof (struct Appointment));
++#ifdef PILOT_LINK_0_12
++ unpack_Appointment (&appt, record, datebook_v1);
++#else
+ unpack_Appointment (&appt, record, 0xffff);
++#endif
+ local->appt->alarm = appt.alarm;
+ local->appt->advance = appt.advance;
+ local->appt->advanceUnits = appt.advanceUnits;
+ free_Appointment (&appt);
+ }
++#ifdef PILOT_LINK_0_12
++ pi_buffer_free (record);
++#endif
+ }
+
+ /* STOP: don't replace these with g_strdup, since free_Appointment
+@@ -1140,12 +1196,28 @@
+ GSList *edl = NULL;
+ char *txt;
+ int pos, i;
+-
++#ifdef PILOT_LINK_0_12
++ pi_buffer_t * buffer;
++#endif
+ g_return_val_if_fail (remote != NULL, NULL);
+
++#ifdef PILOT_LINK_0_12
++ buffer = pi_buffer_new(DLP_BUF_SIZE);
++ if(buffer == NULL){
++ return NULL;
++ }
++
++ if(pi_buffer_append(buffer, remote->record, remote->length)==NULL){
++ return NULL;
++ }
++
++ unpack_Appointment (&appt, buffer, datebook_v1);
++ pi_buffer_free(buffer);
++
++#else
+ memset (&appt, 0, sizeof (struct Appointment));
+ unpack_Appointment (&appt, remote->record, remote->length);
+-
++#endif
+ if (in_comp == NULL) {
+ comp = e_cal_component_new ();
+ e_cal_component_set_new_vtype (comp, E_CAL_COMPONENT_EVENT);
+@@ -1413,7 +1485,9 @@
+ char *filename, *change_id;
+ icalcomponent *icalcomp;
+ gint num_records, add_records = 0, mod_records = 0, del_records = 0;
+-
++#ifdef PILOT_LINK_0_12
++ pi_buffer_t * buffer;
++#endif
+ abs_conduit = GNOME_PILOT_CONDUIT_SYNC_ABS (conduit);
+
+ LOG (g_message ( "---------------------------------------------------------\n" ));
+@@ -1521,10 +1595,21 @@
+ gnome_pilot_conduit_sync_abs_set_num_updated_local_records (abs_conduit, mod_records);
+ gnome_pilot_conduit_sync_abs_set_num_deleted_local_records(abs_conduit, del_records);
+
++#ifdef PILOT_LINK_0_12
++ buffer = pi_buffer_new(DLP_BUF_SIZE);
++ if(buffer == NULL){
++ pi_set_error(dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
++ return -1;
++ }
++
++ len = dlp_ReadAppBlock (dbi->pilot_socket, dbi->db_handle, 0,
++ DLP_BUF_SIZE,
++ buffer);
++#else
+ buf = (unsigned char*)g_malloc (0xffff);
+ len = dlp_ReadAppBlock (dbi->pilot_socket, dbi->db_handle, 0,
+ (unsigned char *)buf, 0xffff);
+-
++#endif
+ if (len < 0) {
+ WARN (_("Could not read pilot's Calendar application block"));
+ WARN ("dlp_ReadAppBlock(...) = %d", len);
+@@ -1532,6 +1617,11 @@
+ _("Could not read pilot's Calendar application block"));
+ return -1;
+ }
++#ifdef PILOT_LINK_0_12
++ buf = g_new0 (unsigned char,buffer->used);
++ memcpy(buf, buffer->data, buffer->used);
++ pi_buffer_free(buffer);
++#endif
+ unpack_AppointmentAppInfo (&(ctxt->ai), buf, len);
+ g_free (buf);
+
+Index: calendar/conduits/todo/todo-conduit.c
+===================================================================
+RCS file: /cvs/gnome/evolution/calendar/conduits/todo/todo-conduit.c,v
+retrieving revision 1.98
+diff -u -r1.98 todo-conduit.c
+--- calendar/conduits/todo/todo-conduit.c 13 May 2006 07:58:02 -0000 1.98
++++ calendar/conduits/todo/todo-conduit.c 17 Nov 2006 07:29:48 -0000
+@@ -402,15 +402,30 @@
+ {
+ static char buff[ 4096 ];
+ struct ToDo todo;
+-
++#ifdef PILOT_LINK_0_12
++ pi_buffer_t * buffer;
++#endif
+ if (remote == NULL) {
+ sprintf (buff, "[NULL]");
+ return buff;
+ }
+
+ memset (&todo, 0, sizeof (struct ToDo));
++#ifdef PILOT_LINK_0_12
++ buffer = pi_buffer_new(DLP_BUF_SIZE);
++ if(buffer == NULL){
++ sprintf (buff, "[NULL]");
++ return buff;
++ }
++ if(pi_buffer_append(buffer, remote->record, remote->length)==NULL){
++ sprintf (buff, "[NULL]");
++ return buff;
++ }
++ unpack_ToDo (&todo, buffer, todo_v1);
++ pi_buffer_free(buffer);
++#else
<<Diff was trimmed, longer than 597 lines>>
More information about the pld-cvs-commit
mailing list