diff options
author | Neil <nyamatongwe@gmail.com> | 2015-02-23 08:20:32 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2015-02-23 08:20:32 +1100 |
commit | ee3a66f0ebaea12c3fd4000a1acffdcc2b93176f (patch) | |
tree | 428a4dc64ccba8be1227fb46877fa6e772402083 /src/Editor.cxx | |
parent | 2424ec8a5c54ea9443b1c04f7b8a7bf530bccc5e (diff) | |
download | scintilla-mirror-ee3a66f0ebaea12c3fd4000a1acffdcc2b93176f.tar.gz |
Add SCI_GETTARGETTEXT as a simpler alternate to SCI_GETTEXTRANGE.
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r-- | src/Editor.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx index 5935037d6..6c80b7511 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -5343,7 +5343,7 @@ sptr_t Editor::StringResult(sptr_t lParam, const char *val) { sptr_t Editor::BytesResult(sptr_t lParam, const unsigned char *val, size_t len) { // No NUL termination: len is number of valid/displayed bytes - if (lParam) { + if ((lParam) && (len > 0)) { char *ptr = CharPtrFromSPtr(lParam); if (val) memcpy(ptr, val, len); @@ -5576,6 +5576,11 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { } break; + case SCI_GETTARGETTEXT: { + std::string text = RangeText(targetStart, targetEnd); + return BytesResult(lParam, reinterpret_cast<const unsigned char *>(text.c_str()), text.length()); + } + case SCI_REPLACETARGET: PLATFORM_ASSERT(lParam); return ReplaceTarget(false, CharPtrFromSPtr(lParam), static_cast<int>(wParam)); |