Merge pull request #88 from pps83/master-fix-linker-s_2_ws

Avoid multiply defined `s_2_ws` linker error
This commit is contained in:
mandreyel 2023-03-03 10:37:00 +01:00 committed by GitHub
commit 8b6b7d878c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 14 deletions

View File

@ -52,14 +52,17 @@ inline DWORD int64_low(int64_t n) noexcept
return n & 0xffffffff;
}
std::wstring s_2_ws(const std::string& s)
inline std::wstring s_2_ws(const std::string& s)
{
if (s.empty())
return{};
const auto s_length = static_cast<int>(s.length());
auto buf = std::vector<wchar_t>(s_length);
const auto wide_char_count = MultiByteToWideChar(CP_UTF8, 0, s.c_str(), s_length, buf.data(), s_length);
return std::wstring(buf.data(), wide_char_count);
std::wstring ret;
if (!s.empty())
{
ret.resize(s.size());
int wide_char_count = MultiByteToWideChar(CP_UTF8, 0, s.c_str(),
static_cast<int>(s.size()), &ret[0], static_cast<int>(s.size()));
ret.resize(wide_char_count);
}
return ret;
}
template<

View File

@ -794,14 +794,17 @@ inline DWORD int64_low(int64_t n) noexcept
return n & 0xffffffff;
}
std::wstring s_2_ws(const std::string& s)
inline std::wstring s_2_ws(const std::string& s)
{
if (s.empty())
return{};
const auto s_length = static_cast<int>(s.length());
auto buf = std::vector<wchar_t>(s_length);
const auto wide_char_count = MultiByteToWideChar(CP_UTF8, 0, s.c_str(), s_length, buf.data(), s_length);
return std::wstring(buf.data(), wide_char_count);
std::wstring ret;
if (!s.empty())
{
ret.resize(s.size());
int wide_char_count = MultiByteToWideChar(CP_UTF8, 0, s.c_str(),
static_cast<int>(s.size()), &ret[0], static_cast<int>(s.size()));
ret.resize(wide_char_count);
}
return ret;
}
template<