diff options
Diffstat (limited to 'src/PlaylistFile.cxx')
-rw-r--r-- | src/PlaylistFile.cxx | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/PlaylistFile.cxx b/src/PlaylistFile.cxx index 2deae4321..c1fcdeb3c 100644 --- a/src/PlaylistFile.cxx +++ b/src/PlaylistFile.cxx @@ -207,13 +207,12 @@ try { continue; #ifdef _UNICODE - wchar_t buffer[MAX_PATH]; - auto result = MultiByteToWideChar(CP_ACP, 0, s, -1, - buffer, ARRAY_SIZE(buffer)); - if (result <= 0) + /* on Windows, playlists always contain UTF-8, because + its "narrow" charset (i.e. CP_ACP) is incapable of + storing all Unicode paths */ + const auto path = AllocatedPath::FromUTF8(s); + if (path.IsNull()) continue; - - const Path path = Path::FromFS(buffer); #else const Path path = Path::FromFS(s); #endif |