diff options
-rw-r--r-- | src/TagFile.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/TagFile.cxx b/src/TagFile.cxx index 168be6063..0640c132e 100644 --- a/src/TagFile.cxx +++ b/src/TagFile.cxx @@ -87,11 +87,13 @@ tag_file_scan(Path path_fs, const tag_handler &handler, void *handler_ctx) /* check if there's a suffix and a plugin */ - const char *suffix = path_fs.GetSuffix(); + const auto *suffix = path_fs.GetSuffix(); if (suffix == nullptr) return false; - TagFileScan tfs(path_fs, suffix, handler, handler_ctx); + const auto suffix_utf8 = Path::FromFS(suffix).ToUTF8(); + + TagFileScan tfs(path_fs, suffix_utf8.c_str(), handler, handler_ctx); return decoder_plugins_try([&](const DecoderPlugin &plugin){ return tfs.Scan(plugin); }); |