Merge pull request #6705 from leoetlino/variable

IOS/SO: Clean up variable declarations
This commit is contained in:
Mat M 2018-04-28 13:40:38 -04:00 committed by GitHub
commit c057eb3c82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -167,34 +167,32 @@ struct DefaultInterface
static std::optional<DefaultInterface> GetSystemDefaultInterface() static std::optional<DefaultInterface> GetSystemDefaultInterface()
{ {
#ifdef _WIN32 #ifdef _WIN32
DWORD forwardTableSize, ipTableSize, result; std::unique_ptr<MIB_IPFORWARDTABLE> forward_table;
NET_IFINDEX ifIndex = NET_IFINDEX_UNSPECIFIED; DWORD forward_table_size = 0;
std::unique_ptr<MIB_IPFORWARDTABLE> forwardTable; if (GetIpForwardTable(nullptr, &forward_table_size, FALSE) == ERROR_INSUFFICIENT_BUFFER)
std::unique_ptr<MIB_IPADDRTABLE> ipTable;
forwardTableSize = 0;
if (GetIpForwardTable(nullptr, &forwardTableSize, FALSE) == ERROR_INSUFFICIENT_BUFFER)
{ {
forwardTable = forward_table =
std::unique_ptr<MIB_IPFORWARDTABLE>((PMIB_IPFORWARDTABLE) operator new(forwardTableSize)); std::unique_ptr<MIB_IPFORWARDTABLE>((PMIB_IPFORWARDTABLE) operator new(forward_table_size));
} }
ipTableSize = 0; std::unique_ptr<MIB_IPADDRTABLE> ip_table;
if (GetIpAddrTable(nullptr, &ipTableSize, FALSE) == ERROR_INSUFFICIENT_BUFFER) DWORD ip_table_size = 0;
if (GetIpAddrTable(nullptr, &ip_table_size, FALSE) == ERROR_INSUFFICIENT_BUFFER)
{ {
ipTable = std::unique_ptr<MIB_IPADDRTABLE>((PMIB_IPADDRTABLE) operator new(ipTableSize)); ip_table = std::unique_ptr<MIB_IPADDRTABLE>((PMIB_IPADDRTABLE) operator new(ip_table_size));
} }
// find the interface IP used for the default route and use that // find the interface IP used for the default route and use that
result = GetIpForwardTable(forwardTable.get(), &forwardTableSize, FALSE); NET_IFINDEX ifIndex = NET_IFINDEX_UNSPECIFIED;
DWORD result = GetIpForwardTable(forward_table.get(), &forward_table_size, FALSE);
// can return ERROR_MORE_DATA on XP even after the first call // can return ERROR_MORE_DATA on XP even after the first call
while (result == NO_ERROR || result == ERROR_MORE_DATA) while (result == NO_ERROR || result == ERROR_MORE_DATA)
{ {
for (DWORD i = 0; i < forwardTable->dwNumEntries; ++i) for (DWORD i = 0; i < forward_table->dwNumEntries; ++i)
{ {
if (forwardTable->table[i].dwForwardDest == 0) if (forward_table->table[i].dwForwardDest == 0)
{ {
ifIndex = forwardTable->table[i].dwForwardIfIndex; ifIndex = forward_table->table[i].dwForwardIfIndex;
break; break;
} }
} }
@ -202,15 +200,15 @@ static std::optional<DefaultInterface> GetSystemDefaultInterface()
if (result == NO_ERROR || ifIndex != NET_IFINDEX_UNSPECIFIED) if (result == NO_ERROR || ifIndex != NET_IFINDEX_UNSPECIFIED)
break; break;
result = GetIpForwardTable(forwardTable.get(), &forwardTableSize, FALSE); result = GetIpForwardTable(forward_table.get(), &forward_table_size, FALSE);
} }
if (ifIndex != NET_IFINDEX_UNSPECIFIED && if (ifIndex != NET_IFINDEX_UNSPECIFIED &&
GetIpAddrTable(ipTable.get(), &ipTableSize, FALSE) == NO_ERROR) GetIpAddrTable(ip_table.get(), &ip_table_size, FALSE) == NO_ERROR)
{ {
for (DWORD i = 0; i < ipTable->dwNumEntries; ++i) for (DWORD i = 0; i < ip_table->dwNumEntries; ++i)
{ {
const auto& entry = ipTable->table[i]; const auto& entry = ip_table->table[i];
if (entry.dwIndex == ifIndex) if (entry.dwIndex == ifIndex)
return DefaultInterface{entry.dwAddr, entry.dwMask, entry.dwBCastAddr}; return DefaultInterface{entry.dwAddr, entry.dwMask, entry.dwBCastAddr};
} }