Use g_canonicalize_filename() instead
[platform/core/api/media-content.git] / src / media_playlist.c
index 96e8126..c1005bf 100755 (executable)
 static void __media_playlist_item_free(gpointer item)
 {
        media_playlist_item_s *_item = (media_playlist_item_s *)item;
-       SAFE_FREE(_item->media_id);
-       SAFE_FREE(_item->playlist_name);
-       SAFE_FREE(_item->thumbnail_path);
-       SAFE_FREE(_item);
+
+       g_free(_item->media_id);
+       g_free(_item->playlist_name);
+       g_free(_item->thumbnail_path);
+       g_free(_item);
 }
 
 static void __media_playlist_item_release(media_playlist_s *playlist)
@@ -196,7 +197,6 @@ static int __media_playlist_import_item_from_file(const char *playlist_path, GSL
                return MEDIA_CONTENT_ERROR_INVALID_OPERATION;
        }
 
-       memset(tmp_str, 0, sizeof(tmp_str));
        while (fgets(tmp_str, MAX_PATH_LEN, fp) != NULL) {
                memset(repl_item, 0, sizeof(repl_item));
                _media_content_replace_path(tmp_str, repl_item);
@@ -227,13 +227,13 @@ int media_playlist_insert_to_db(const char *name, media_playlist_h *playlist)
        int playlist_id = 0;
 
        content_retip_if_fail(STRING_VALID(name));
+       content_retip_if_fail(playlist);
 
-       media_playlist_s *_playlist = (media_playlist_s *)calloc(1, sizeof(media_playlist_s));
-       content_retvm_if(_playlist == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       media_playlist_s *_playlist = g_new0(media_playlist_s, 1);
 
        ret = __media_playlist_insert_playlist_record(name, &playlist_id);
        if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               SAFE_FREE(_playlist);
+               g_free(_playlist);
                return ret;
        }
 
@@ -293,11 +293,14 @@ int media_playlist_foreach_media_from_db(int playlist_id, filter_h filter, playl
 int media_playlist_destroy(media_playlist_h playlist)
 {
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
+
        content_retip_if_fail(playlist);
 
-       SAFE_FREE(_playlist->name);
-       SAFE_FREE(_playlist->thumbnail_path);
-       SAFE_FREE(_playlist);
+       __media_playlist_item_release(_playlist);
+
+       g_free(_playlist->name);
+       g_free(_playlist->thumbnail_path);
+       g_free(_playlist);
 
        return MEDIA_CONTENT_ERROR_NONE;
 }
@@ -305,10 +308,11 @@ int media_playlist_destroy(media_playlist_h playlist)
 int media_playlist_clone(media_playlist_h *dst, media_playlist_h src)
 {
        media_playlist_s *_src = (media_playlist_s *)src;
-       content_retip_if_fail(_src);
 
-       media_playlist_s *_dst = (media_playlist_s *)calloc(1, sizeof(media_playlist_s));
-       content_retvm_if(_dst == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       content_retip_if_fail(dst);
+       content_retip_if_fail(src);
+
+       media_playlist_s *_dst = g_new0(media_playlist_s, 1);
 
        _dst->playlist_id = _src->playlist_id;
        _dst->name = g_strdup(_src->name);
@@ -325,6 +329,7 @@ int media_playlist_get_playlist_from_db(int playlist_id, media_playlist_h *playl
        char *query = NULL;
 
        content_retipm_if_fail(playlist_id > 0, "%d", playlist_id);
+       content_retip_if_fail(playlist);
 
        query = sqlite3_mprintf(SELECT_PLAYLIST_FROM_PLAYLIST, playlist_id);
 
@@ -335,12 +340,7 @@ int media_playlist_get_playlist_from_db(int playlist_id, media_playlist_h *playl
        media_playlist_s *_playlist = NULL;
 
        if (sqlite3_step(stmt) == SQLITE_ROW) {
-               _playlist = (media_playlist_s *)calloc(1, sizeof(media_playlist_s));
-               if (_playlist == NULL) {
-                       content_error("Out of memory");
-                       SQLITE3_FINALIZE(stmt);
-                       return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
-               }
+               _playlist = g_new0(media_playlist_s, 1);
 
                _playlist->playlist_id = playlist_id;
                _playlist->name = g_strdup((const char *)sqlite3_column_text(stmt, 0));
@@ -360,6 +360,7 @@ int media_playlist_get_playlist_from_db(int playlist_id, media_playlist_h *playl
 int media_playlist_get_playlist_id(media_playlist_h playlist, int *playlist_id)
 {
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
+
        content_retip_if_fail(playlist);
        content_retip_if_fail(playlist_id);
 
@@ -371,6 +372,7 @@ int media_playlist_get_playlist_id(media_playlist_h playlist, int *playlist_id)
 int media_playlist_get_name(media_playlist_h playlist, char **name)
 {
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
+
        content_retip_if_fail(playlist);
        content_retip_if_fail(name);
 
@@ -382,6 +384,7 @@ int media_playlist_get_name(media_playlist_h playlist, char **name)
 int media_playlist_get_thumbnail_path(media_playlist_h playlist, char **path)
 {
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
+
        content_retip_if_fail(playlist);
        content_retip_if_fail(path);
 
@@ -422,10 +425,9 @@ int media_playlist_set_name(media_playlist_h playlist, const char *playlist_name
        content_retip_if_fail(playlist);
        content_retip_if_fail(STRING_VALID(playlist_name));
 
-       SAFE_FREE(_playlist->name);
+       g_free(_playlist->name);
 
-       item = (media_playlist_item_s *)calloc(1, sizeof(media_playlist_item_s));
-       content_retvm_if(item == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       item = g_new0(media_playlist_item_s, 1);
 
        item->playlist_name = g_strdup(playlist_name);
        item->function = MEDIA_PLAYLIST_UPDATE_PLAYLIST_NAME;
@@ -444,10 +446,9 @@ int media_playlist_set_thumbnail_path(media_playlist_h playlist, const char *pat
        content_retip_if_fail(playlist);
        content_retip_if_fail(STRING_VALID(path));
 
-       SAFE_FREE(_playlist->thumbnail_path);
+       g_free(_playlist->thumbnail_path);
 
-       item = (media_playlist_item_s *)calloc(1, sizeof(media_playlist_item_s));
-       content_retvm_if(item == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       item = g_new0(media_playlist_item_s, 1);
 
        item->thumbnail_path = g_strdup(path);
        item->function = MEDIA_PLAYLIST_UPDATE_THUMBNAIL_PATH;
@@ -467,8 +468,7 @@ int media_playlist_set_play_order(media_playlist_h playlist, int playlist_member
        content_retipm_if_fail(playlist_member_id > 0, "%d", playlist_member_id);
        content_retipm_if_fail(play_order >= 0, "%d", play_order);
 
-       item = (media_playlist_item_s *)calloc(1, sizeof(media_playlist_item_s));
-       content_retvm_if(item == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       item = g_new0(media_playlist_item_s, 1);
 
        item->playlist_member_id = playlist_member_id;
        item->function = MEDIA_PLAYLIST_UPDATE_PLAY_ORDER;
@@ -487,8 +487,7 @@ int media_playlist_add_media(media_playlist_h playlist, const char *media_id)
        content_retip_if_fail(playlist);
        content_retip_if_fail(STRING_VALID(media_id));
 
-       item = (media_playlist_item_s *)calloc(1, sizeof(media_playlist_item_s));
-       content_retvm_if(item == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       item = g_new0(media_playlist_item_s, 1);
 
        item->media_id = g_strdup(media_id);
        item->function = MEDIA_PLAYLIST_ADD;
@@ -506,8 +505,7 @@ int media_playlist_remove_media(media_playlist_h playlist, int playlist_member_i
        content_retip_if_fail(playlist);
        content_retipm_if_fail(playlist_member_id > 0, "%d", playlist_member_id);
 
-       item = (media_playlist_item_s *)calloc(1, sizeof(media_playlist_item_s));
-       content_retvm_if(item == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       item = g_new0(media_playlist_item_s, 1);
 
        item->playlist_member_id = playlist_member_id;
        item->function = MEDIA_PLAYLIST_REMOVE;
@@ -577,7 +575,9 @@ static int __media_playlist_get_media_id_by_path(const char *path, char **media_
        int ret = MEDIA_CONTENT_ERROR_NONE;
        char *query = NULL;
        sqlite3_stmt *stmt = NULL;
+
        content_retip_if_fail(path);
+       content_retip_if_fail(media_id);
 
 #ifdef _USE_TVPD_MODE
        query = sqlite3_mprintf("SELECT media_id FROM '%q' WHERE media_path='%q'", DB_VIEW_MEDIA, path);
@@ -626,7 +626,6 @@ int media_playlist_import_from_file(const char *path, const char *playlist_name,
        content_retip_if_fail(STRING_VALID(path));
        content_retip_if_fail(STRING_VALID(playlist_name));
 
-       memset(repl_path, 0, sizeof(repl_path));
        ret = _media_content_replace_path(path, repl_path);
        content_retvm_if(!STRING_VALID(repl_path), MEDIA_CONTENT_ERROR_INVALID_OPERATION, "path replacement failed");
 
@@ -656,7 +655,6 @@ int media_playlist_export_to_file(media_playlist_h playlist, const char *path)
        content_retip_if_fail(playlist);
        content_retipm_if_fail(_playlist->playlist_id > 0, "%d", _playlist->playlist_id);
 
-       memset(repl_path, 0, sizeof(repl_path));
        ret = _media_content_replace_path(path, repl_path);
        content_retvm_if(!STRING_VALID(repl_path), MEDIA_CONTENT_ERROR_INVALID_OPERATION, "path replacement failed");
 
@@ -691,8 +689,7 @@ int media_playlist_create(media_playlist_h *playlist)
 {
        content_retip_if_fail(playlist);
 
-       media_playlist_s *_playlist = (media_playlist_s *)calloc(1, sizeof(media_playlist_s));
-       content_retvm_if(_playlist == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       media_playlist_s *_playlist = g_new0(media_playlist_s, 1);
 
        _playlist->playlist_id = -1;
        _playlist->name = NULL;