diff options
author | MikalaiR <nikolay.romanovich@narod.ru> | 2016-07-06 19:08:21 +0000 |
---|---|---|
committer | MikalaiR <nikolay.romanovich@narod.ru> | 2016-07-06 19:08:21 +0000 |
commit | a46fe1de288c25b360f008d84fd744f608878ce3 (patch) | |
tree | b7c5b629daee6101dd8b8a75de49b9bcc0df64c0 /protocols/SkypeWeb/src/skype_search.cpp | |
parent | 79e4ee10e9ebd6382f819502285685ce21e69ef0 (diff) |
SkypeWeb: fixed search
git-svn-id: http://svn.miranda-ng.org/main/trunk@17070 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/SkypeWeb/src/skype_search.cpp')
-rw-r--r-- | protocols/SkypeWeb/src/skype_search.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/protocols/SkypeWeb/src/skype_search.cpp b/protocols/SkypeWeb/src/skype_search.cpp index f989be13db..7c7637abdc 100644 --- a/protocols/SkypeWeb/src/skype_search.cpp +++ b/protocols/SkypeWeb/src/skype_search.cpp @@ -53,17 +53,18 @@ void CSkypeProto::OnSearch(const NETLIBHTTPREQUEST *response) return;
}
- const JSONNode &items = root.as_array();
- for (size_t i = 0; i < items.size(); i++)
+ const JSONNode &items = root["results"].as_array();
+ for (auto it = items.begin(); it != items.end(); ++it)
{
- const JSONNode &item = items[i];
- const JSONNode &ContactCards = item["ContactCards"];
- const JSONNode &Skype = ContactCards["Skype"];
+ const JSONNode &item = (*it)["nodeProfileData"];
+
+ std::string skypeId = item["skypeId"].as_string();
+ std::string name = item["name"].as_string();
PROTOSEARCHRESULT psr = { sizeof(psr) };
psr.flags = PSR_UTF8;
- psr.id.a = mir_strdup(Skype["SkypeName"].as_string().c_str());
- psr.nick.a = mir_strdup(Skype["DisplayName"].as_string().c_str());
+ psr.id.a = const_cast<char*>(skypeId.c_str());
+ psr.nick.a = const_cast<char*>(name.c_str());
ProtoBroadcastAck(0, ACKTYPE_SEARCH, ACKRESULT_DATA, (HANDLE)1, (LPARAM)&psr);
}
|