Add to destory Glist and search item by g_list_free_full 39/189439/2 accepted/tizen/unified/20180918.062950 submit/tizen/20180917.231009
authorjiyong.min <jiyong.min@samsung.com>
Mon, 17 Sep 2018 22:46:48 +0000 (07:46 +0900)
committerjiyong.min <jiyong.min@samsung.com>
Mon, 17 Sep 2018 22:50:00 +0000 (07:50 +0900)
Change-Id: I7ac83c7b228b3273d81743227a94c2475d754cf8

packaging/capi-media-controller.spec
src/media_controller_metadata.c

index b982c2b8a330dc4c4c0a56ddc07c7b5af9617abf..6e330afc41729dc05685ed0736043338780461ef 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       capi-media-controller
 Summary:    A media controller library in Tizen Native API
-Version:    0.1.72
+Version:    0.1.73
 Release:    1
 Group:      Multimedia/API
 License:    Apache-2.0
index a54c8c87d9990f0f92371ca1bf078892898058e3..de5e69de752192bab99e0517c5a1c581489ef32e 100755 (executable)
@@ -231,28 +231,27 @@ int mc_search_set_condition(mc_search_h search, mc_content_type_e content_type,
        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);