From 76b283677bd66b4f41289bc211504834bb0f0513 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 24 Sep 2013 11:14:26 +0000 Subject: PROTORECVEVENT::pCustomData field added to add user-defined into to incoming messages git-svn-id: http://svn.miranda-ng.org/main/trunk@6206 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/modules/protocols/protocols.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/modules/protocols') diff --git a/src/modules/protocols/protocols.cpp b/src/modules/protocols/protocols.cpp index da68984d7c..efcd69ffba 100644 --- a/src/modules/protocols/protocols.cpp +++ b/src/modules/protocols/protocols.cpp @@ -149,6 +149,7 @@ static INT_PTR Proto_RecvMessage(WPARAM, LPARAM lParam) return NULL; ptrA pszTemp; + mir_ptr pszBlob; DBEVENTINFO dbei = { 0 }; dbei.cbSize = sizeof(dbei); @@ -163,7 +164,15 @@ static INT_PTR Proto_RecvMessage(WPARAM, LPARAM lParam) } else { dbei.cbBlob = (DWORD)strlen(pre->szMessage) + 1; - dbei.pBlob = (PBYTE) pre->szMessage; + dbei.pBlob = (PBYTE)pre->szMessage; + } + + if (pre->cbCustomDataSize != 0) { + pszBlob = (PBYTE)mir_alloc(dbei.cbBlob + pre->cbCustomDataSize); + memcpy(pszBlob, dbei.pBlob, dbei.cbBlob); + memcpy((PBYTE)pszBlob + dbei.cbBlob, pre->pCustomData, pre->cbCustomDataSize); + dbei.pBlob = pszBlob; + dbei.cbBlob += pre->cbCustomDataSize; } if (pre->flags & PREF_CREATEREAD) -- cgit v1.2.3