Module: wine Branch: master Commit: 9c4a1289406c46e239c4542f5cdfabd2622a97c4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9c4a1289406c46e239c4542f5c...
Author: Mark Adams mark@transgaming.com Date: Wed Jul 11 00:16:37 2007 -0400
iphlpapi: Fix byte ordering of Linux ports.
---
dlls/iphlpapi/iphlpapi_main.c | 10 ++++++---- dlls/iphlpapi/ipstats.c | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c index 799f7fc..2aac18d 100644 --- a/dlls/iphlpapi/iphlpapi_main.c +++ b/dlls/iphlpapi/iphlpapi_main.c @@ -296,13 +296,15 @@ static int TcpTableSorter(const void *a, const void *b) const MIB_TCPROW* rowA = a; const MIB_TCPROW* rowB = b;
- ret = rowA->dwLocalAddr - rowB->dwLocalAddr; + ret = ntohl (rowA->dwLocalAddr) - ntohl (rowB->dwLocalAddr); if (ret == 0) { - ret = rowA->dwLocalPort - rowB->dwLocalPort; + ret = ntohs ((unsigned short)rowA->dwLocalPort) - + ntohs ((unsigned short)rowB->dwLocalPort); if (ret == 0) { - ret = rowA->dwRemoteAddr - rowB->dwRemoteAddr; + ret = ntohl (rowA->dwRemoteAddr) - ntohl (rowB->dwRemoteAddr); if (ret == 0) - ret = rowA->dwRemotePort - rowB->dwRemotePort; + ret = ntohs ((unsigned short)rowA->dwRemotePort) - + ntohs ((unsigned short)rowB->dwRemotePort); } } } diff --git a/dlls/iphlpapi/ipstats.c b/dlls/iphlpapi/ipstats.c index 7c6488c..69dd978 100644 --- a/dlls/iphlpapi/ipstats.c +++ b/dlls/iphlpapi/ipstats.c @@ -1316,7 +1316,7 @@ DWORD getTcpTable(PMIB_TCPTABLE *ppTcpTable, DWORD maxEntries, HANDLE heap, if (ptr && *ptr) { ptr++; table->table[table->dwNumEntries].dwLocalPort = - strtoul(ptr, &endPtr, 16); + htons ((unsigned short)strtoul(ptr, &endPtr, 16)); ptr = endPtr; } if (ptr && *ptr) { @@ -1327,7 +1327,7 @@ DWORD getTcpTable(PMIB_TCPTABLE *ppTcpTable, DWORD maxEntries, HANDLE heap, if (ptr && *ptr) { ptr++; table->table[table->dwNumEntries].dwRemotePort = - strtoul(ptr, &endPtr, 16); + htons ((unsigned short)strtoul(ptr, &endPtr, 16)); ptr = endPtr; } if (ptr && *ptr) {