diff options
Diffstat (limited to 'Alc')
-rw-r--r-- | Alc/backends/wasapi.cpp | 16 | ||||
-rw-r--r-- | Alc/compat.h | 23 |
2 files changed, 23 insertions, 16 deletions
diff --git a/Alc/backends/wasapi.cpp b/Alc/backends/wasapi.cpp index 2dc44c87..f2adf328 100644 --- a/Alc/backends/wasapi.cpp +++ b/Alc/backends/wasapi.cpp @@ -136,22 +136,6 @@ std::vector<DevMap> PlaybackDevices; std::vector<DevMap> CaptureDevices; -std::string wstr_to_utf8(const WCHAR *wstr) -{ - std::string ret; - - int len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, nullptr, 0, nullptr, nullptr); - if(len > 0) - { - ret.resize(len); - WideCharToMultiByte(CP_UTF8, 0, wstr, -1, &ret[0], len, nullptr, nullptr); - ret.pop_back(); - } - - return ret; -} - - HANDLE ThreadHdl; DWORD ThreadID; diff --git a/Alc/compat.h b/Alc/compat.h index e0f6cbd9..c478c01d 100644 --- a/Alc/compat.h +++ b/Alc/compat.h @@ -19,6 +19,29 @@ FILE *al_fopen(const char *fname, const char *mode); #define HAVE_DYNLOAD 1 +#ifdef __cplusplus +} // extern "C" + +#include <string> + +inline std::string wstr_to_utf8(const WCHAR *wstr) +{ + std::string ret; + + int len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, nullptr, 0, nullptr, nullptr); + if(len > 0) + { + ret.resize(len); + WideCharToMultiByte(CP_UTF8, 0, wstr, -1, &ret[0], len, nullptr, nullptr); + ret.pop_back(); + } + + return ret; +} + +extern "C" { +#endif /* __cplusplus */ + #else #define al_fopen fopen |