Hmmm... that code is really interesting:
int objlen = 65536;
sync_object_type objtype;
filename = g_strdup_printf("telecom/pb/luid/%s.vcf", luid);
objlen = 10240;
i wonder why objlen is assigned twice. i guess someone must have had a
reason to limit the objlen. Does anyone know why (Not that we break
something else by removing this limit)?
On Tue, 2004-11-30 at 23:40 +0100, Jonas Birmà wrote:
> Hi,
>
> The attached patch resolves the problem with not syncing contacts which
> included binary data, for example voice commands or pictures. Try it out
> and of course backup the phonebook first. Apply with (in multisync
> topdir):
>
> % patch -p0 < voice-contact.patch
>
> Technical details:
>
> It was quite hard to find but the problem was caused by this
> (irmc_obex.c:get_client_done):
>
> if (ud->databuf && ud->databuflen && *(ud->databuflen) >= body_len) {
> // Copy received data to buffer
> ...
> }
> ...
>
> which is not wrong and should of course be checked. What actually
> happened was that a contact containing voice data is (almost everytime)
> larger than *(ud->databuflen).
>
> What I did (as a quick fix) was to remove this line in irmc_sync.c
>
> //objlen = 10240;
> if ((ret=irmc_obex_get(conn->obexhandle, filename, objdata, &objlen))<0)
> { ... }
>
> not entirely solving the problem since it would ignore contacts larger
> than 65536. The data is BASE64 coded and some warnings occurs with evo2
> plugin at least, since it is not handled by evolution.
>
> /Jonas
--
Armin Bauer <[EMAIL PROTECTED]>
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
Multisync-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/multisync-users