From fd00af6bd9cb38ab9719bce0c1360c395c026a8d Mon Sep 17 00:00:00 2001 From: Neil Date: Thu, 2 May 2019 14:14:08 +1000 Subject: Optimize SCI_GETTEXT by calling Document::GetCharRange instead of looping for each byte. --- src/Editor.cxx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/Editor.cxx b/src/Editor.cxx index 352a133ae..42b71e3c8 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -5796,11 +5796,10 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { if (wParam == 0) return 0; char *ptr = CharPtrFromSPtr(lParam); - size_t iChar = 0; - for (; iChar < wParam - 1; iChar++) - ptr[iChar] = pdoc->CharAt(iChar); - ptr[iChar] = '\0'; - return iChar; + const Sci_Position len = wParam - 1; + pdoc->GetCharRange(ptr, 0, len); + ptr[len] = '\0'; + return len; } case SCI_SETTEXT: { -- cgit v1.2.3