static int __create_playlist_view(uid_t uid)
{
int ret = MS_MEDIA_ERR_NONE;
- bool flag = false;
column_info_s *col_ptr = NULL;
int len = 0;
int i = 0;
char *sql = NULL;
- char temp[1024] = {0 ,};
- char table_query[MEDIA_SVC_QUERY_LEN_NORMAL] = {0, };
+ GString *table_query = g_string_new(NULL);
+ media_svc_retvm_if(!table_query, MS_MEDIA_ERR_INTERNAL, "g_string_new failed");
len = g_slist_length(column_list[MEDIA_SVC_DB_LIST_PLAYLIST]);
for (i = 1; i < len; i++) {
col_ptr = g_slist_nth_data(column_list[MEDIA_SVC_DB_LIST_PLAYLIST], i);
if (col_ptr->is_view) {
- if (flag == true) {
+ if (table_query->len != 0) {
if (strncmp(col_ptr->name, MEDIA_SVC_DB_COLUMN_THUMBNAIL, strlen(MEDIA_SVC_DB_COLUMN_THUMBNAIL)) == 0)
- snprintf(temp, sizeof(temp), ", playlist.%s AS p_thumbnail_path", col_ptr->name);
+ g_string_append_printf(table_query, ", playlist.%s AS p_thumbnail_path", col_ptr->name);
else
- snprintf(temp, sizeof(temp), ", playlist.%s", col_ptr->name);
+ g_string_append_printf(table_query, ", playlist.%s", col_ptr->name);
} else {
- snprintf(temp, sizeof(temp), "playlist.%s", col_ptr->name);
- flag = true;
+ g_string_append_printf(table_query, "playlist.%s", col_ptr->name);
}
- SAFE_STRLCAT(table_query, temp, sizeof(table_query));
}
- memset(temp, 0, sizeof(temp));
}
len = g_slist_length(column_list[MEDIA_SVC_DB_LIST_PLAYLIST_MAP]);
col_ptr = g_slist_nth_data(column_list[MEDIA_SVC_DB_LIST_PLAYLIST_MAP], i);
if (col_ptr->is_view) {
if (strncmp(col_ptr->name, MEDIA_SVC_DB_COLUMN_MAP_ID, strlen(MEDIA_SVC_DB_COLUMN_MAP_ID)) == 0)
- snprintf(temp, sizeof(temp), ", playlist_media_count IS NOT NULL AS playlist_media_count, playlist_map.%s AS pm_id", col_ptr->name);
+ g_string_append_printf(table_query, ", playlist_media_count IS NOT NULL AS playlist_media_count, playlist_map.%s AS pm_id", col_ptr->name);
else
- snprintf(temp, sizeof(temp), ", playlist_map.%s", col_ptr->name);
- SAFE_STRLCAT(table_query, temp, sizeof(table_query));
+ g_string_append_printf(table_query, ", playlist_map.%s", col_ptr->name);
}
- memset(temp, 0, sizeof(temp));
}
len = g_slist_length(column_list[MEDIA_SVC_DB_LIST_MEDIA]);
for (i = 1; i < len; i++) {
col_ptr = g_slist_nth_data(column_list[MEDIA_SVC_DB_LIST_MEDIA], i);
- if (col_ptr->is_view) {
- snprintf(temp, sizeof(temp), ", media.%s", col_ptr->name);
- SAFE_STRLCAT(table_query, temp, sizeof(table_query));
- }
- memset(temp, 0, sizeof(temp));
+ if (col_ptr->is_view)
+ g_string_append_printf(table_query, ", media.%s", col_ptr->name);
}
- sql = sqlite3_mprintf(MEDIA_SVC_DB_QUERY_VIEW_PLAYLIST, MEDIA_SVC_DB_VIEW_PLAYLIST, table_query);
+ sql = sqlite3_mprintf(MEDIA_SVC_DB_QUERY_VIEW_PLAYLIST, MEDIA_SVC_DB_VIEW_PLAYLIST, table_query->str);
+ g_string_free(table_query, TRUE);
ret = _media_svc_sql_query(sql, uid);
SQLITE3_SAFE_FREE(sql);
static int __create_tag_view(uid_t uid)
{
int ret = MS_MEDIA_ERR_NONE;
- bool flag = false;
column_info_s *col_ptr = NULL;
int len = 0;
int i = 0;
char *sql = NULL;
- char temp[1024] = {0 ,};
- char table_query[MEDIA_SVC_QUERY_LEN_NORMAL] = {0, };
+ GString *table_query = g_string_new(NULL);
+ media_svc_retvm_if(!table_query, MS_MEDIA_ERR_INTERNAL, "g_string_new failed");
len = g_slist_length(column_list[MEDIA_SVC_DB_LIST_TAG]);
for (i = 1; i < len; i++) {
col_ptr = g_slist_nth_data(column_list[MEDIA_SVC_DB_LIST_TAG], i);
if (col_ptr->is_view) {
- if (flag == true) {
- snprintf(temp, sizeof(temp), ", tag.%s", col_ptr->name);
- } else {
- snprintf(temp, sizeof(temp), "tag.%s", col_ptr->name);
- flag = true;
- }
- SAFE_STRLCAT(table_query, temp, sizeof(table_query));
+ if (table_query->len != 0)
+ g_string_append_printf(table_query, ", tag.%s", col_ptr->name);
+ else
+ g_string_append_printf(table_query, "tag.%s", col_ptr->name);
}
- memset(temp, 0, sizeof(temp));
}
len = g_slist_length(column_list[MEDIA_SVC_DB_LIST_TAG_MAP]);
col_ptr = g_slist_nth_data(column_list[MEDIA_SVC_DB_LIST_TAG_MAP], i);
if (col_ptr->is_view) {
if (strncmp(col_ptr->name, MEDIA_SVC_DB_COLUMN_MAP_ID, strlen(MEDIA_SVC_DB_COLUMN_MAP_ID)) == 0)
- snprintf(temp, sizeof(temp), ", tag_media_count IS NOT NULL AS tag_media_count, tag_map.%s AS tm_id", col_ptr->name);
+ g_string_append_printf(table_query, ", tag_media_count IS NOT NULL AS tag_media_count, tag_map.%s AS tm_id", col_ptr->name);
else
- snprintf(temp, sizeof(temp), ", tag_map.%s", col_ptr->name);
- SAFE_STRLCAT(table_query, temp, sizeof(table_query));
+ g_string_append_printf(table_query, ", tag_map.%s", col_ptr->name);
}
- memset(temp, 0, sizeof(temp));
}
len = g_slist_length(column_list[MEDIA_SVC_DB_LIST_MEDIA]);
for (i = 1; i < len; i++) {
col_ptr = g_slist_nth_data(column_list[MEDIA_SVC_DB_LIST_MEDIA], i);
- if (col_ptr->is_view) {
- snprintf(temp, sizeof(temp), ", media.%s", col_ptr->name);
- SAFE_STRLCAT(table_query, temp, sizeof(table_query));
- }
- memset(temp, 0, sizeof(temp));
+ if (col_ptr->is_view)
+ g_string_append_printf(table_query, ", media.%s", col_ptr->name);
}
- sql = sqlite3_mprintf(MEDIA_SVC_DB_QUERY_VIEW_TAG, MEDIA_SVC_DB_VIEW_TAG, table_query);
+ sql = sqlite3_mprintf(MEDIA_SVC_DB_QUERY_VIEW_TAG, MEDIA_SVC_DB_VIEW_TAG, table_query->str);
+ g_string_free(table_query, TRUE);
ret = _media_svc_sql_query(sql, uid);
SQLITE3_SAFE_FREE(sql);