aboutsummaryrefslogtreecommitdiff
path: root/src/netbase.cpp
diff options
context:
space:
mode:
authorMatt Corallo <matt@bluematt.me>2011-12-16 19:48:03 -0500
committerMatt Corallo <matt@bluematt.me>2012-01-12 22:13:16 -0500
commitb24e6e4d1b917210b9e22711fb2535f53e949547 (patch)
tree65aef349a108c011dc828b3645dd0a8606d878cb /src/netbase.cpp
parent3f64fa1369bde45034e451c4093e0852e59a1cdf (diff)
downloadbitcoin-b24e6e4d1b917210b9e22711fb2535f53e949547.tar.xz
Add -keepnode which attempts to -addnode and keep a connection open
Diffstat (limited to 'src/netbase.cpp')
-rw-r--r--src/netbase.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/netbase.cpp b/src/netbase.cpp
index 2c4df7faf8..34d58f90a3 100644
--- a/src/netbase.cpp
+++ b/src/netbase.cpp
@@ -96,7 +96,7 @@ bool LookupHostNumeric(const char *pszName, std::vector<CNetAddr>& vIP, int nMax
return LookupHost(pszName, vIP, nMaxSolutions, false);
}
-bool Lookup(const char *pszName, CService& addr, int portDefault, bool fAllowLookup)
+bool Lookup(const char *pszName, std::vector<CService>& vAddr, int portDefault, bool fAllowLookup, int nMaxSolutions)
{
if (pszName[0] == 0)
return false;
@@ -130,10 +130,22 @@ bool Lookup(const char *pszName, CService& addr, int portDefault, bool fAllowLoo
}
std::vector<CNetAddr> vIP;
- bool fRet = LookupIntern(pszHost, vIP, 1, fAllowLookup);
+ bool fRet = LookupIntern(pszHost, vIP, nMaxSolutions, fAllowLookup);
+ if (!fRet)
+ return false;
+ vAddr.resize(vIP.size());
+ for (int i = 0; i < vIP.size(); i++)
+ vAddr[i] = CService(vIP[i], port);
+ return true;
+}
+
+bool Lookup(const char *pszName, CService& addr, int portDefault, bool fAllowLookup)
+{
+ std::vector<CService> vService;
+ bool fRet = Lookup(pszName, vService, portDefault, fAllowLookup, 1);
if (!fRet)
return false;
- addr = CService(vIP[0], port);
+ addr = vService[0];
return true;
}