aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Editor.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2015-02-23 08:20:32 +1100
committerNeil <nyamatongwe@gmail.com>2015-02-23 08:20:32 +1100
commitee3a66f0ebaea12c3fd4000a1acffdcc2b93176f (patch)
tree428a4dc64ccba8be1227fb46877fa6e772402083 /src/Editor.cxx
parent2424ec8a5c54ea9443b1c04f7b8a7bf530bccc5e (diff)
downloadscintilla-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.cxx7
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));