decoder/wildmidi: use NarrowPath, fixing the Windows build

This commit is contained in:
Max Kellermann 2020-05-27 14:06:22 +02:00
parent 69f09648a4
commit ebcb5e9368
2 changed files with 6 additions and 3 deletions

1
NEWS
View File

@ -5,6 +5,7 @@ ver 0.21.24 (not yet released)
- simple: fix crash when mounting twice - simple: fix crash when mounting twice
* decoder * decoder
- wildmidi: attempt to detect WildMidi using pkg-config - wildmidi: attempt to detect WildMidi using pkg-config
- wildmidi: fix Windows build failure
* Android * Android
- fix build failure with Android NDK r21 - fix build failure with Android NDK r21
* Windows * Windows

View File

@ -25,6 +25,7 @@
#include "fs/AllocatedPath.hxx" #include "fs/AllocatedPath.hxx"
#include "fs/FileSystem.hxx" #include "fs/FileSystem.hxx"
#include "fs/Path.hxx" #include "fs/Path.hxx"
#include "fs/NarrowPath.hxx"
#include "Log.hxx" #include "Log.hxx"
#include "PluginUnavailable.hxx" #include "PluginUnavailable.hxx"
@ -53,7 +54,8 @@ wildmidi_init(const ConfigBlock &block)
AtScopeExit() { WildMidi_ClearError(); }; AtScopeExit() { WildMidi_ClearError(); };
#endif #endif
if (WildMidi_Init(path.c_str(), wildmidi_audio_format.sample_rate, if (WildMidi_Init(NarrowPath(path),
wildmidi_audio_format.sample_rate,
0) != 0) { 0) != 0) {
#ifdef LIBWILDMIDI_VERSION #ifdef LIBWILDMIDI_VERSION
/* WildMidi_GetError() requires libwildmidi 0.4 */ /* WildMidi_GetError() requires libwildmidi 0.4 */
@ -96,7 +98,7 @@ wildmidi_file_decode(DecoderClient &client, Path path_fs)
midi *wm; midi *wm;
const struct _WM_Info *info; const struct _WM_Info *info;
wm = WildMidi_Open(path_fs.c_str()); wm = WildMidi_Open(NarrowPath(path_fs));
if (wm == nullptr) if (wm == nullptr)
return; return;
@ -136,7 +138,7 @@ wildmidi_file_decode(DecoderClient &client, Path path_fs)
static bool static bool
wildmidi_scan_file(Path path_fs, TagHandler &handler) noexcept wildmidi_scan_file(Path path_fs, TagHandler &handler) noexcept
{ {
midi *wm = WildMidi_Open(path_fs.c_str()); midi *wm = WildMidi_Open(NarrowPath(path_fs));
if (wm == nullptr) if (wm == nullptr)
return false; return false;