aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2019-03-20 19:18:57 +1100
committerNeil <nyamatongwe@gmail.com>2019-03-20 19:18:57 +1100
commita09fe66e667ed2b91a4c953e74cf6b1abaaa919f (patch)
treeee20504b3c678e28da9c8510669479d135bb7240 /src/Document.cxx
parent37e58367e8b48e53032f1849de570668811e81fb (diff)
downloadscintilla-mirror-a09fe66e667ed2b91a4c953e74cf6b1abaaa919f.tar.gz
Implement WStringFromUTF8 to simplify code that creates wstring objects for
regular expressions and calling the Win32 API.
Diffstat (limited to 'src/Document.cxx')
-rw-r--r--src/Document.cxx12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/Document.cxx b/src/Document.cxx
index f9cd654c7..4df512b1d 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -3058,17 +3058,9 @@ Sci::Position Cxx11RegexFindText(const Document *doc, Sci::Position minPos, Sci:
bool matched = false;
if (SC_CP_UTF8 == doc->dbcsCodePage) {
- const std::string_view sv(s);
- const size_t lenS = sv.length();
- std::vector<wchar_t> ws(sv.length() + 1);
-#if WCHAR_T_IS_16
- const size_t outLen = UTF16FromUTF8(sv, &ws[0], lenS);
-#else
- const size_t outLen = UTF32FromUTF8(sv, reinterpret_cast<unsigned int *>(&ws[0]), lenS);
-#endif
- ws[outLen] = 0;
+ const std::wstring ws = WStringFromUTF8(s);
std::wregex regexp;
- regexp.assign(&ws[0], flagsRe);
+ regexp.assign(ws, flagsRe);
matched = MatchOnLines<UTF8Iterator>(doc, regexp, resr, search);
} else {