summaryrefslogtreecommitdiff
path: root/protocols/SkypeWeb/src/skype_search.cpp
diff options
context:
space:
mode:
authorMikalaiR <nikolay.romanovich@narod.ru>2016-07-06 19:08:21 +0000
committerMikalaiR <nikolay.romanovich@narod.ru>2016-07-06 19:08:21 +0000
commita46fe1de288c25b360f008d84fd744f608878ce3 (patch)
treeb7c5b629daee6101dd8b8a75de49b9bcc0df64c0 /protocols/SkypeWeb/src/skype_search.cpp
parent79e4ee10e9ebd6382f819502285685ce21e69ef0 (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.cpp15
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);
}