diff options
Diffstat (limited to 'protocols/IcqOscarJ/fam_02location.cpp')
-rwxr-xr-x[-rw-r--r--] | protocols/IcqOscarJ/fam_02location.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/protocols/IcqOscarJ/fam_02location.cpp b/protocols/IcqOscarJ/fam_02location.cpp index b7f0163917..2398cf18c6 100644..100755 --- a/protocols/IcqOscarJ/fam_02location.cpp +++ b/protocols/IcqOscarJ/fam_02location.cpp @@ -182,6 +182,24 @@ void CIcqProto::handleLocationUserInfoReply(BYTE* buf, WORD wLen, DWORD dwCookie char *szEncoding = NULL;
// Get Profile encoding TLV
+ + pTLV = pChain->getTLV(0x05, 1); + if (pTLV && (pTLV->wLen > 0)) + { + // store client capabilities + BYTE* capBuf = pTLV->pData; + WORD capLen = pTLV->wLen; + DBCONTACTWRITESETTING dbcws; + dbcws.value.type = DBVT_BLOB; + dbcws.value.cpbVal = capLen; + dbcws.value.pbVal = capBuf; + dbcws.szModule = m_szModuleName; + dbcws.szSetting = "CapBuf"; + CallService(MS_DB_CONTACT_WRITESETTING, (WPARAM)hContact, (LPARAM)&dbcws);
+ }
+ else
+ deleteSetting(hContact, "CapBuf");
+
pTLV = pChain->getTLV(0x01, 1);
if (pTLV && (pTLV->wLen >= 1))
{
|