So the code in opensync_obj_engine.c
(_osync_obj_engine_clone_and_demerge_change) looks like:

-----

                        if (!osync_caps_converter_invoke(caps_converter,
&caps, NULL /* config */, error))
                                goto error;
                        // osync_member_set_capabilities(member, caps,
error);
                        merger = it_merger;
                        break;
                }
        }

        if (!merger) {
                osync_error_set(error, OSYNC_ERROR_GENERIC, "Couldn't
handle the capabilities in format \"%s\" to process a reported change in
format  \"%s\"",
                                current_capsformat,
osync_objformat_get_name(objformat));
                goto error;
        }

        if (!osync_merger_demerge(merger, clone_change, caps, error))
                goto error;

-----

osync_merger_demerge looks like:

----
osync_bool osync_merger_demerge(OSyncMerger *merger, OSyncChange
*change, OSyncCapabilities *caps, OSyncError **error)
{

        char *buffer;
        unsigned int size;

        osync_assert(merger);
        osync_assert(change);
        osync_return_val_if_fail(caps, TRUE);

        OSyncData *data = osync_change_get_data(change);

        osync_data_get_data(data, &buffer, &size);

        if (!merger->demerge_func(&buffer, &size, caps, NULL /*userdata!
*/, error))
                goto error;

----

And we're calling the demerge_func with size == 0. 




-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to