NULL, /* data */
- NULL, /* destroy */
- NULL /* user_data */
+ NULL, /* user_data */
+ NULL /* destroy */
};
static void
{
if (blob->destroy) {
blob->destroy (blob->user_data);
- blob->destroy = NULL;
blob->user_data = NULL;
+ blob->destroy = NULL;
}
}
hb_blob_create (const char *data,
unsigned int length,
hb_memory_mode_t mode,
- hb_destroy_func_t destroy,
- void *user_data)
+ void *user_data,
+ hb_destroy_func_t destroy)
{
hb_blob_t *blob;
blob->length = length;
blob->mode = mode;
- blob->destroy = destroy;
blob->user_data = user_data;
+ blob->destroy = destroy;
if (blob->mode == HB_MEMORY_MODE_DUPLICATE) {
blob->mode = HB_MEMORY_MODE_READONLY;
blob->mode = parent->mode;
hb_mutex_unlock (parent->lock);
- blob->destroy = (hb_destroy_func_t) _hb_blob_unlock_and_destroy;
blob->user_data = hb_blob_reference (parent);
+ blob->destroy = (hb_destroy_func_t) _hb_blob_unlock_and_destroy;
return blob;
}
_hb_blob_destroy_user_data (blob);
blob->mode = HB_MEMORY_MODE_WRITABLE;
blob->data = new_data;
- blob->destroy = free;
blob->user_data = new_data;
+ blob->destroy = free;
}
}
hb_blob_create (const char *data,
unsigned int length,
hb_memory_mode_t mode,
- hb_destroy_func_t destroy,
- void *user_data);
+ void *user_data,
+ hb_destroy_func_t destroy);
hb_blob_t *
hb_blob_create_sub_blob (hb_blob_t *parent,