Armin Bauer <[EMAIL PROTECTED]> wrote:

>Tom Parker wrote:

http://sourceforge.net/mailarchive/forum.php?thread_id=6221779&forum_id=12899

>>Has anyone solved it in a hackish kind of way? I understand most
>>
>i dont think that there is a solution already for the current multisync
>version. After all i also started opensync to be able to fix these
>problems without applying a major hack each time.

We'll I've done it. See the attached patch against a snapshot I downloaded
about 3 days ago. It probably wants some sort of configuration option hung
around it as it may not be so good in all cases. It will probably fall over
when or if Evolution outputs a version 3 feature that the phone doesn't
understand. My c skills are somewhat rusty, but this solution seems to work.

>no i dont think that the debian package is missing bugfixes. The
>duplication checking code in the current multisync is very simple and
>wont catch duplicates in a lot of cases.

I think nearly all of my confusion has been to do with poor duplicate
detection and the resync button not actually doing what I expected.

>The "resync" button does a slow-sync. This means that each device is
>queried for all items (instead of only the changes). This helps if the
>device does not return the changes but might lead to duplication.

I think I read here that this doesn't work with evolution 2. Certainly it
doesn't work for me.

--
Tom Parker - [EMAIL PROTECTED]
           - http://www.carrott.org
*** multisync_orig/plugins/evolution2_sync/src/evolution_sync.c Sat Nov 27 
05:08:20 2004
--- multisync/plugins/evolution2_sync/src/evolution_sync.c      Thu Apr 14 
19:43:46 2005
***************
*** 176,181 ****
--- 176,192 ----
                        ebc = (EBookChange *)object;
                        EVCard vcard = ebc->contact->parent;
                        *data = e_vcard_to_string(&vcard, EVC_FORMAT_VCARD_30);
+                       {
+                               // this is a hack by [EMAIL PROTECTED] to make 
evolution 2 work 
+                               // with Siemens SyncML phones. So far, the only 
property of the
+                               // version 3 vcard that needs changing is the 
version number. See
+                               // this outdated wiki page:
+                               // 
http://wiki.ciaweb.net/yawiki/index.php?area=Contact_Vcard&page=HomePage&dt=2004-03-13%2019:01:23
+                               char *offset = strstr(*data, "VERSION:3.0");
+                               if (offset) {
+                                       memcpy(offset, "VERSION:2.1", 
strlen("VERSION:2.1"));
+                               }
+                       }
                        *uid = e_contact_get_const(ebc->contact, E_CONTACT_UID);
                        //*datasize = strlen(*data) + 1;
                        switch (ebc->change_type) {

Reply via email to