char *condition_query = NULL;
char *option_query = NULL;
sqlite3_stmt *stmt = NULL;
- sqlite3_stmt *sub_stmt = NULL;
attribute_h attr = NULL;
filter_s *_filter = (filter_s*)filter;
char *tmp_path = NULL;
- char *parent_path = NULL;
char repl_path[MAX_PATH_LEN] = {0, };
attr = _content_get_alias_attirbute_handle();
tmp_path = g_strdup((const char *)sqlite3_column_text(stmt, 1));
_media_content_rollback_path(tmp_path, repl_path);
_folder->path = g_strdup(repl_path);
+ SAFE_FREE(tmp_path);
+
_folder->name = g_strdup((const char *)sqlite3_column_text(stmt, 2));
_folder->storage_type = (int)sqlite3_column_int(stmt, 3);
_folder->modified_time = (int)sqlite3_column_int(stmt, 4);
_folder->storage_uuid = g_strdup((const char *)sqlite3_column_text(stmt, 5));
_folder->folder_order = (int)sqlite3_column_int(stmt, 6);
- parent_path = g_path_get_dirname(tmp_path);
- memset(select_query, 0x00, sizeof(select_query));
- snprintf(select_query, sizeof(select_query), SELECT_FOLDER_ID_BY_PATH, parent_path);
-
- SAFE_FREE(tmp_path);
- SAFE_FREE(parent_path);
-
- ret = _content_query_prepare(&sub_stmt, select_query, NULL, NULL);
- if (ret != MEDIA_CONTENT_ERROR_NONE) {
- media_content_error("_content_query_prepare failed");
- media_folder_destroy((media_folder_h) _folder);
- SQLITE3_FINALIZE(stmt);
- return ret;
- }
-
- if (sqlite3_step(sub_stmt) == SQLITE_ROW)
- _folder->parent_folder_id = g_strdup((const char *)sqlite3_column_text(sub_stmt, 0));
-
- SQLITE3_FINALIZE(sub_stmt);
-
if (callback((media_folder_h)_folder, user_data) == false) {
media_folder_destroy((media_folder_h) _folder);
break;
SAFE_FREE(_folder->path);
SAFE_FREE(_folder->name);
SAFE_FREE(_folder->folder_id);
- SAFE_FREE(_folder->parent_folder_id);
SAFE_FREE(_folder->storage_uuid);
SAFE_FREE(_folder);
ret = MEDIA_CONTENT_ERROR_NONE;
}
}
- if (STRING_VALID(_src->parent_folder_id)) {
- _dst->parent_folder_id = strdup(_src->parent_folder_id);
- if (_dst->parent_folder_id == NULL) {
- media_folder_destroy((media_folder_h)_dst);
- media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
if (STRING_VALID(_src->name)) {
_dst->name = strdup(_src->name);
if (_dst->name == NULL) {
int ret = MEDIA_CONTENT_ERROR_NONE;
media_content_warn("DEPRECATION WARNING: media_folder_get_parent_folder_id() is deprecated and will be removed from next release.");
media_folder_s *_folder = (media_folder_s*)folder;
+ sqlite3_stmt *stmt = NULL;
+ char tmp_path[MAX_PATH_LEN] = {0, };
+ char *parent_path = NULL;
+ char select_query[MAX_QUERY_SIZE] = {0, };
+ /* Usage is low. So, DB access when this fuction is called */
if (_folder) {
- if (STRING_VALID(_folder->parent_folder_id)) {
- *parent_folder_id = strdup(_folder->parent_folder_id);
- media_content_retvm_if(*parent_folder_id == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- } else {
+ memset(tmp_path, 0x00, sizeof(tmp_path));
+ memset(select_query, 0x00, sizeof(select_query));
+
+ _media_content_replace_path(_folder->path, tmp_path);
+
+ parent_path = g_path_get_dirname(tmp_path);
+ snprintf(select_query, sizeof(select_query), SELECT_FOLDER_ID_BY_PATH, parent_path);
+ SAFE_FREE(parent_path);
+
+ ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+ media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
+
+ if (sqlite3_step(stmt) == SQLITE_ROW)
+ *parent_folder_id = g_strdup((const char *)sqlite3_column_text(stmt, 0));
+ else
*parent_folder_id = NULL;
- }
+
+ SQLITE3_FINALIZE(stmt);
+
ret = MEDIA_CONTENT_ERROR_NONE;
} else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
sqlite3_stmt *stmt = NULL;
char select_query[DEFAULT_QUERY_SIZE];
char *tmp_path = NULL;
- char *parent_path = NULL;
char repl_path[MAX_PATH_LEN] = {0, };
media_folder_s *_folder = NULL;
}
memset(select_query, 0x00, sizeof(select_query));
-
snprintf(select_query, sizeof(select_query), SELECT_FOLDER_FROM_FOLDER, folder_id);
ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
tmp_path = g_strdup((const char *)sqlite3_column_text(stmt, 1));
_media_content_rollback_path(tmp_path, repl_path);
_folder->path = g_strdup(repl_path);
+ SAFE_FREE(tmp_path);
+
_folder->name = g_strdup((const char *)sqlite3_column_text(stmt, 2));
_folder->modified_time = (int)sqlite3_column_int(stmt, 3);
_folder->storage_type = (int)sqlite3_column_int(stmt, 5);
SQLITE3_FINALIZE(stmt);
- /*Get parent UUID */
- if (STRING_VALID(tmp_path)) {
- parent_path = g_path_get_dirname(tmp_path);
- memset(select_query, 0x00, sizeof(select_query));
- snprintf(select_query, sizeof(select_query), SELECT_FOLDER_ID_BY_PATH, parent_path);
-
- SAFE_FREE(tmp_path);
- SAFE_FREE(parent_path);
-
- ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
- media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
-
- if (sqlite3_step(stmt) == SQLITE_ROW)
- _folder->parent_folder_id = g_strdup((const char *)sqlite3_column_text(stmt, 0));
-
- SQLITE3_FINALIZE(stmt);
- }
-
return ret;
}