diff options
Diffstat (limited to 'src/data/mediadata.c')
-rw-r--r-- | src/data/mediadata.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/data/mediadata.c b/src/data/mediadata.c index d4dcc41..50d4ac1 100644 --- a/src/data/mediadata.c +++ b/src/data/mediadata.c @@ -232,7 +232,22 @@ static void *_get_data_title(app_media_info *info) if (!info->title) return NULL; - return strdup(info->title); + char *result_str = NULL; + i18n_uchar *converted_string = NULL; + + converted_string = _convert_to_UTF16_string(info->title); + + if (converted_string == NULL) { + _ERR("_convert_to_UTF16_string failed"); + goto OUT; + } + result_str = _convert_to_UTF8_string(converted_string); + +OUT: + if (converted_string) + free(converted_string); + + return result_str; } static char *_get_title(app_media_info *info) @@ -481,7 +496,7 @@ static int _compare_cb_name(const void *data1, const void *data2) info1 = app_media_get_info(am1); info2 = app_media_get_info(am2); - if (!info1 || !info2 || !info1->display_name || !info2->display_name) + if (!info1 || !info2 || !info1->title || !info2->title) return -1; return strcasecmp(info1->title, info2->title); |