mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-15 19:57:18 +00:00
iphlpapi: Sort by adapter index first in GetIpNetTable().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
This commit is contained in:
parent
fae847adcf
commit
bfd7b9bcf8
|
@ -2282,6 +2282,9 @@ err:
|
|||
static int ipnetrow_cmp( const void *a, const void *b )
|
||||
{
|
||||
const MIB_IPNETROW *rowA = a, *rowB = b;
|
||||
|
||||
if (rowA->dwIndex != rowB->dwIndex) return DWORD_cmp( rowA->dwIndex, rowB->dwIndex );
|
||||
|
||||
return DWORD_cmp(RtlUlongByteSwap( rowA->dwAddr ), RtlUlongByteSwap( rowB->dwAddr ));
|
||||
}
|
||||
|
||||
|
|
|
@ -371,6 +371,7 @@ static void testGetIpNetTable(void)
|
|||
{
|
||||
DWORD apiReturn;
|
||||
ULONG dwSize = 0;
|
||||
unsigned int i;
|
||||
|
||||
apiReturn = GetIpNetTable(NULL, NULL, FALSE);
|
||||
if (apiReturn == ERROR_NOT_SUPPORTED) {
|
||||
|
@ -390,11 +391,23 @@ static void testGetIpNetTable(void)
|
|||
PMIB_IPNETTABLE buf = HeapAlloc(GetProcessHeap(), 0, dwSize);
|
||||
|
||||
memset(buf, 0xcc, dwSize);
|
||||
apiReturn = GetIpNetTable(buf, &dwSize, FALSE);
|
||||
apiReturn = GetIpNetTable(buf, &dwSize, TRUE);
|
||||
ok((apiReturn == NO_ERROR && buf->dwNumEntries) || (apiReturn == ERROR_NO_DATA && !buf->dwNumEntries),
|
||||
"got apiReturn %lu, dwSize %lu, buf->dwNumEntries %lu.\n",
|
||||
apiReturn, dwSize, buf->dwNumEntries);
|
||||
|
||||
if (apiReturn == NO_ERROR)
|
||||
{
|
||||
for (i = 0; i < buf->dwNumEntries - 1; ++i)
|
||||
{
|
||||
ok( buf->table[i].dwIndex <= buf->table[i + 1].dwIndex,
|
||||
"Entries are not sorted by index, i %u.\n", i );
|
||||
if (buf->table[i].dwIndex == buf->table[i + 1].dwIndex)
|
||||
ok(ntohl(buf->table[i].dwAddr) <= ntohl(buf->table[i + 1].dwAddr),
|
||||
"Entries are not sorted by address, i %u.\n", i );
|
||||
}
|
||||
}
|
||||
|
||||
if (apiReturn == NO_ERROR && winetest_debug > 1)
|
||||
{
|
||||
DWORD i, j;
|
||||
|
|
Loading…
Reference in a new issue