diff options
author | Max Kellermann <max@duempel.org> | 2012-10-05 17:12:44 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2012-10-05 17:12:44 +0200 |
commit | cbdaa1369f950b75b346951611b79eacffe9b2a7 (patch) | |
tree | 8ebd6352baf5806ada4dc32aafb2dd8e2dee9c66 /src/playlist_song.c | |
parent | b8fdb452be9d79492b4bff84d2990cfcb1da282b (diff) | |
parent | 8fb20fcdf8e2c04c385d868dd791be0d1fa2b045 (diff) | |
download | mpd-cbdaa1369f950b75b346951611b79eacffe9b2a7.tar.gz mpd-cbdaa1369f950b75b346951611b79eacffe9b2a7.tar.xz mpd-cbdaa1369f950b75b346951611b79eacffe9b2a7.zip |
Merge branch 'v0.17.x'
Conflicts:
src/PlaylistSave.cxx
Diffstat (limited to 'src/playlist_song.c')
-rw-r--r-- | src/playlist_song.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/playlist_song.c b/src/playlist_song.c index 3b8de6307..2e2870d38 100644 --- a/src/playlist_song.c +++ b/src/playlist_song.c @@ -23,6 +23,7 @@ #include "mapper.h" #include "song.h" #include "uri.h" +#include "path.h" #include "ls.h" #include "tag.h" @@ -62,8 +63,14 @@ apply_song_metadata(struct song *dest, const struct song *src) if (path_fs == NULL) return dest; - tmp = song_file_new(path_fs, NULL); - g_free(path_fs); + char *path_utf8 = fs_charset_to_utf8(path_fs); + if (path_utf8 != NULL) + g_free(path_fs); + else + path_utf8 = path_fs; + + tmp = song_file_new(path_utf8, NULL); + g_free(path_utf8); merge_song_metadata(tmp, dest, src); } else { |