diff options
-rw-r--r-- | win32/ScintillaWin.cxx | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index b0869a8d7..165e0651f 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -754,31 +754,31 @@ int WideCharLenFromMultiByte(UINT codePage, std::string_view sv) noexcept { return WideCharFromMultiByte(codePage, sv, nullptr, 0); } -std::string StringEncode(const std::wstring &s, int codePage) { - const int cchMulti = s.length() ? MultiByteLenFromWideChar(codePage, s) : 0; +std::string StringEncode(std::wstring_view wsv, int codePage) { + const int cchMulti = wsv.length() ? MultiByteLenFromWideChar(codePage, wsv) : 0; std::string sMulti(cchMulti, 0); if (cchMulti) { - MultiByteFromWideChar(codePage, s, &sMulti[0], cchMulti); + MultiByteFromWideChar(codePage, wsv, sMulti.data(), cchMulti); } return sMulti; } -std::wstring StringDecode(const std::string &s, int codePage) { - const int cchWide = s.length() ? WideCharLenFromMultiByte(codePage, s) : 0; +std::wstring StringDecode(std::string_view sv, int codePage) { + const int cchWide = sv.length() ? WideCharLenFromMultiByte(codePage, sv) : 0; std::wstring sWide(cchWide, 0); if (cchWide) { - WideCharFromMultiByte(codePage, s, &sWide[0], cchWide); + WideCharFromMultiByte(codePage, sv, sWide.data(), cchWide); } return sWide; } -std::wstring StringMapCase(const std::wstring &ws, DWORD mapFlags) { +std::wstring StringMapCase(std::wstring_view wsv, DWORD mapFlags) { const int charsConverted = ::LCMapStringW(LOCALE_SYSTEM_DEFAULT, mapFlags, - ws.c_str(), static_cast<int>(ws.length()), nullptr, 0); + wsv.data(), static_cast<int>(wsv.length()), nullptr, 0); std::wstring wsConverted(charsConverted, 0); if (charsConverted) { ::LCMapStringW(LOCALE_SYSTEM_DEFAULT, mapFlags, - ws.c_str(), static_cast<int>(ws.length()), &wsConverted[0], charsConverted); + wsv.data(), static_cast<int>(wsv.length()), wsConverted.data(), charsConverted); } return wsConverted; } |