EventPipeProviderCallbackData *instance = ep_rt_object_alloc (EventPipeProviderCallbackData);
ep_raise_error_if_nok (instance != NULL);
- if (provider_callback_data_src)
+ if (provider_callback_data_src) {
*instance = *provider_callback_data_src;
+ instance->filter_data = ep_rt_utf8_string_dup (provider_callback_data_src->filter_data);
+ }
ep_on_exit:
return instance;
{
EP_ASSERT (provider_callback_data != NULL);
- provider_callback_data->filter_data = filter_data;
+ provider_callback_data->filter_data = ep_rt_utf8_string_dup (filter_data);
provider_callback_data->callback_function = callback_function;
provider_callback_data->callback_data = callback_data;
provider_callback_data->keywords = keywords;
EP_ASSERT (provider_callback_data_src != NULL);
*provider_callback_data_dst = *provider_callback_data_src;
+ provider_callback_data_dst->filter_data = ep_rt_utf8_string_dup (provider_callback_data_src->filter_data);
return provider_callback_data_dst;
}
void
ep_provider_callback_data_fini (EventPipeProviderCallbackData *provider_callback_data)
{
- ;
+ ep_return_void_if_nok (provider_callback_data != NULL);
+ ep_rt_utf8_string_free (provider_callback_data->filter_data);
}
void
ep_provider_callback_data_free (EventPipeProviderCallbackData *provider_callback_data)
{
ep_return_void_if_nok (provider_callback_data != NULL);
+ ep_provider_callback_data_fini (provider_callback_data);
ep_rt_object_free (provider_callback_data);
}