win32_fix.patch 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake
  2. index 349082d..b745b12 100644
  3. --- a/CMake/Dependencies.cmake
  4. +++ b/CMake/Dependencies.cmake
  5. @@ -27,5 +27,6 @@ MACRO_DISPLAY_FEATURE_LOG()
  6. # Add library and include paths from the dependencies
  7. include_directories(
  8. + ${OPENAL_INCLUDE_DIR}/../
  9. ${OPENAL_INCLUDE_DIR}
  10. )
  11. diff --git a/cAudio/include/cAudioString.h b/cAudio/include/cAudioString.h
  12. index f70d2f0..d8a4815 100644
  13. --- a/cAudio/include/cAudioString.h
  14. +++ b/cAudio/include/cAudioString.h
  15. @@ -49,8 +49,8 @@ namespace cAudio
  16. static int id = 0;
  17. static char buffer[8][1024];
  18. id = ++id & 0x7;
  19. -
  20. - int buff_size = WideCharToMultiByte(CP_UTF8, 0, str.c_str(), (int)(str.size() < 1023 ? str.size() : 1023), buffer[id], 1023, 0, false);
  21. + std::wstring widestr(str.begin(), str.end());
  22. + int buff_size = WideCharToMultiByte(CP_UTF8, 0, widestr.c_str(), (int)(str.size() < 1023 ? str.size() : 1023), buffer[id], 1023, 0, false);
  23. buffer[id][buff_size] = 0;
  24. buffer[id][1023] = 0;
  25. return buffer[id];
  26. @@ -61,7 +61,9 @@ namespace cAudio
  27. int str_len = (int)strlen(str);
  28. int buf_size = MultiByteToWideChar(CP_UTF8, 0, str, str_len, 0, 0);
  29. cAudioString s(buf_size, L'\0');
  30. - MultiByteToWideChar(CP_UTF8, 0, str, str_len, &s[0], buf_size);
  31. + std::wstring widestr(s.begin(), s.end());
  32. + MultiByteToWideChar(CP_UTF8, 0, str, str_len, &widestr[0], buf_size);
  33. + s = std::string(widestr.begin(), widestr.end());
  34. return s;
  35. }