return ret;
}
+void _destroy_search_list(gpointer data)
+{
+ mc_search_item_s *search_item = (mc_search_item_s*)data;
+
+ if (search_item != NULL) {
+ MC_SAFE_FREE(search_item->search_keyword);
+ if (search_item->data != NULL)
+ bundle_free(search_item->data);
+ MC_SAFE_FREE(search_item);
+ }
+}
+
int mc_search_destroy(mc_search_h search)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
media_controller_search_s *mc_search = (media_controller_search_s *)search;
- mc_search_item_s *search_item = NULL;
- int length = 0;
- int idx = 0;
mc_retvm_if(mc_search == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "search is NULL");
- length = g_list_length(mc_search->search_list);
-
- for (idx = 0; idx < length; idx++) {
- search_item = (mc_search_item_s*)g_list_nth_data(mc_search->search_list, idx);
-
- if (search_item != NULL) {
- MC_SAFE_FREE(search_item->search_keyword);
- if (search_item->data != NULL)
- bundle_free(search_item->data);
- MC_SAFE_FREE(search_item);
- }
- }
+ g_list_free_full(mc_search->search_list, _destroy_search_list);
+ mc_search->search_list = NULL;
MC_SAFE_FREE(mc_search);