BOOST_FOREACH(string& strAddNode, lAddresses)
{
vector<CService> vservNode(0);
+ if (Lookup(strAddNode.c_str(), vservNode, GetDefaultPort(), fNameLookup, 0))
{
lservAddressesToAdd.push_back(vservNode);
{
LOCK(cs_vNodes);
BOOST_FOREACH(CNode* pnode, vNodes)
for (list<vector<CService> >::iterator it = lservAddressesToAdd.begin(); it != lservAddressesToAdd.end(); it++)
+ {
BOOST_FOREACH(CService& addrNode, *(it))
if (pnode->addr == addrNode)
{
it = lservAddressesToAdd.erase(it);
- it--;
+ if(it != lservAddressesToAdd.begin())
+ it--;
break;
}
+ if (it == lservAddressesToAdd.end())
+ break;
+ }
}
BOOST_FOREACH(vector<CService>& vserv, lservAddressesToAdd)
{
+ if (vserv.size() == 0)
+ continue;
CSemaphoreGrant grant(*semOutbound);
OpenNetworkConnection(CAddress(vserv[i % vserv.size()]), &grant);
Sleep(500);