summaryrefslogtreecommitdiff
path: root/protocols/MRA/src
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/MRA/src')
-rw-r--r--protocols/MRA/src/MraSendCommand.cpp2
-rw-r--r--protocols/MRA/src/Mra_proto.cpp11
2 files changed, 8 insertions, 5 deletions
diff --git a/protocols/MRA/src/MraSendCommand.cpp b/protocols/MRA/src/MraSendCommand.cpp
index ab7df94a28..e2f6f7e008 100644
--- a/protocols/MRA/src/MraSendCommand.cpp
+++ b/protocols/MRA/src/MraSendCommand.cpp
@@ -374,7 +374,7 @@ HANDLE CMraProto::MraWPRequestW(HANDLE hContact, DWORD dwAckType, DWORD dwReques
buf.SetLPS(tmp);
}
- return (HANDLE)MraSendQueueCMD(hSendQueueHandle, 0, hContact, dwAckType, NULL, 0, MRIM_CS_WP_REQUEST, buf.Data(), buf.Len());
+ return (HANDLE)MraSendQueueCMD(hSendQueueHandle, dwRequestFlags, hContact, dwAckType, NULL, 0, MRIM_CS_WP_REQUEST, buf.Data(), buf.Len());
}
// Поиск контакта по EMail
diff --git a/protocols/MRA/src/Mra_proto.cpp b/protocols/MRA/src/Mra_proto.cpp
index a55092f7ba..0c95346715 100644
--- a/protocols/MRA/src/Mra_proto.cpp
+++ b/protocols/MRA/src/Mra_proto.cpp
@@ -788,8 +788,8 @@ bool CMraProto::CmdContactAck(int cmd, int seq, BinBuffer &buf)
bool CMraProto::CmdAnketaInfo(int seq, BinBuffer &buf)
{
- DWORD dwAckType; HANDLE hContact; LPBYTE pData; size_t dataLen;
- if ( MraSendQueueFind(hSendQueueHandle, seq, NULL, &hContact, &dwAckType, &pData, &dataLen)) {
+ DWORD dwAckType, dwFlags; HANDLE hContact; LPBYTE pData; size_t dataLen;
+ if ( MraSendQueueFind(hSendQueueHandle, seq, &dwFlags, &hContact, &dwAckType, &pData, &dataLen)) {
MraPopupShowFromAgentW(MRA_POPUP_TYPE_DEBUG, 0, TranslateW(L"MRIM_ANKETA_INFO: not found in queue"));
return true;
}
@@ -1000,8 +1000,11 @@ bool CMraProto::CmdAnketaInfo(int seq, BinBuffer &buf)
mralpsUsernameValue = val;
}
else if (fld == "Domain") { // имя было уже задано ранее
- buf >> val;
- wcsncpy_s(szEmail, _A2T(val + "@" + mralpsUsernameValue), SIZEOF(szEmail));
+ buf >> val;
+ if (dwFlags & MRIM_CS_WP_REQUEST_PARAM_DOMAIN)
+ wcsncpy_s(szEmail, _A2T(val + "@" + mralpsUsernameValue), SIZEOF(szEmail));
+ else
+ wcsncpy_s(szEmail, _A2T(mralpsUsernameValue + "@" + val), SIZEOF(szEmail));
}
else if (fld == "Nickname") {
buf >> valW;