mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-02 22:25:04 -04:00
removed call to exit causing the software to stop when local network interfaces are not ready
This commit is contained in:
parent
e6e95829bc
commit
7bddd4bcd4
1 changed files with 10 additions and 8 deletions
|
@ -279,12 +279,6 @@ int inet_aton(const char *name, struct in_addr *addr)
|
||||||
#include <net/if.h>
|
#include <net/if.h>
|
||||||
#endif // WINDOWS_SYS
|
#endif // WINDOWS_SYS
|
||||||
|
|
||||||
void getLocalAddressesFailed()
|
|
||||||
{
|
|
||||||
std::cerr << "FATAL ERROR: getLocalAddresses failed!" << std::endl;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool getLocalAddresses(std::list<sockaddr_storage> & addrs)
|
bool getLocalAddresses(std::list<sockaddr_storage> & addrs)
|
||||||
{
|
{
|
||||||
addrs.clear();
|
addrs.clear();
|
||||||
|
@ -304,7 +298,11 @@ bool getLocalAddresses(std::list<sockaddr_storage> & addrs)
|
||||||
NULL,
|
NULL,
|
||||||
adapter_addresses,
|
adapter_addresses,
|
||||||
&bf_size);
|
&bf_size);
|
||||||
if (error != ERROR_SUCCESS) getLocalAddressesFailed();
|
if (error != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
std::cerr << "FATAL ERROR: getLocalAddresses failed!" << std::endl;
|
||||||
|
return false ;
|
||||||
|
}
|
||||||
|
|
||||||
IP_ADAPTER_ADDRESSES* adapter(NULL);
|
IP_ADAPTER_ADDRESSES* adapter(NULL);
|
||||||
for(adapter = adapter_addresses; NULL != adapter; adapter = adapter->Next)
|
for(adapter = adapter_addresses; NULL != adapter; adapter = adapter->Next)
|
||||||
|
@ -321,7 +319,11 @@ bool getLocalAddresses(std::list<sockaddr_storage> & addrs)
|
||||||
free(adapter_addresses);
|
free(adapter_addresses);
|
||||||
#else // WINDOWS_SYS
|
#else // WINDOWS_SYS
|
||||||
struct ifaddrs *ifsaddrs, *ifa;
|
struct ifaddrs *ifsaddrs, *ifa;
|
||||||
if(getifaddrs(&ifsaddrs) != 0) getLocalAddressesFailed();
|
if(getifaddrs(&ifsaddrs) != 0)
|
||||||
|
{
|
||||||
|
std::cerr << "FATAL ERROR: getLocalAddresses failed!" << std::endl;
|
||||||
|
return false ;
|
||||||
|
}
|
||||||
for ( ifa = ifsaddrs; ifa; ifa = ifa->ifa_next )
|
for ( ifa = ifsaddrs; ifa; ifa = ifa->ifa_next )
|
||||||
if ( ifa->ifa_addr && (ifa->ifa_flags & IFF_UP) )
|
if ( ifa->ifa_addr && (ifa->ifa_flags & IFF_UP) )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue