From b24e6e4d1b917210b9e22711fb2535f53e949547 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Fri, 16 Dec 2011 19:48:03 -0500 Subject: Add -keepnode which attempts to -addnode and keep a connection open --- src/netbase.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/netbase.cpp') 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& 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& 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 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 vService; + bool fRet = Lookup(pszName, vService, portDefault, fAllowLookup, 1); if (!fRet) return false; - addr = CService(vIP[0], port); + addr = vService[0]; return true; } -- cgit v1.2.3