server["address"] = tmp;
std::getline(stream, tmp);
server["port"] = tmp;
+ bool unique = true;
+ for (const ServerListSpec &added : serverlist) {
+ if (server["name"] == added["name"]
+ && server["port"] == added["port"]) {
+ unique = false;
+ break;
+ }
+ }
+ if (!unique)
+ continue;
std::getline(stream, tmp);
server["description"] = tmp;
serverlist.push_back(server);
list.append(it);
}
root["list"] = list;
- Json::FastWriter writer;
- return writer.write(root);
+
+ return fastWriteJson(root);
}
server["lag"] = lag;
}
- Json::FastWriter writer;
HTTPFetchRequest fetch_request;
fetch_request.url = g_settings->get("serverlist_url") + std::string("/announce");
- fetch_request.post_fields["json"] = writer.write(server);
+ fetch_request.post_fields["json"] = fastWriteJson(server);
fetch_request.multipart = true;
httpfetch_async(fetch_request);
}