From fdc720a5a23e10a6b7ff4f51362db9ed5181aa8d Mon Sep 17 00:00:00 2001 From: Neil Date: Wed, 25 Apr 2018 17:12:55 +1000 Subject: Backport: Use set of coercion functions for transforming WndProc parameters into pointers. Backport of changeset 6738:5b39367ee7da. --- src/Editor.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/Editor.h') diff --git a/src/Editor.h b/src/Editor.h index f45d18661..9fda8ddea 100644 --- a/src/Editor.h +++ b/src/Editor.h @@ -568,6 +568,29 @@ protected: // ScintillaBase subclass needs access to much of Editor static const char *StringFromEOLMode(int eolMode); + // Coercion functions for transforming WndProc parameters into pointers + static void *PtrFromSPtr(sptr_t lParam) { + return reinterpret_cast(lParam); + } + static const char *ConstCharPtrFromSPtr(sptr_t lParam) { + return static_cast(PtrFromSPtr(lParam)); + } + static const unsigned char *ConstUCharPtrFromSPtr(sptr_t lParam) { + return static_cast(PtrFromSPtr(lParam)); + } + static char *CharPtrFromSPtr(sptr_t lParam) { + return static_cast(PtrFromSPtr(lParam)); + } + static unsigned char *UCharPtrFromSPtr(sptr_t lParam) { + return static_cast(PtrFromSPtr(lParam)); + } + static void *PtrFromUPtr(uptr_t wParam) { + return reinterpret_cast(wParam); + } + static const char *ConstCharPtrFromUPtr(uptr_t wParam) { + return static_cast(PtrFromUPtr(wParam)); + } + static sptr_t StringResult(sptr_t lParam, const char *val); static sptr_t BytesResult(sptr_t lParam, const unsigned char *val, size_t len); -- cgit v1.2.3