Fix getInterfaceInfoSet so GetInterfaceInfo returns only non-loopback
adapters, however, we still return some incorrect info.
Silenced a DPRINT.
Modified: trunk/reactos/lib/iphlpapi/ifenum_reactos.c
Modified: trunk/reactos/lib/iphlpapi/iphlpapi_main.c
_____
Modified: trunk/reactos/lib/iphlpapi/ifenum_reactos.c
--- trunk/reactos/lib/iphlpapi/ifenum_reactos.c 2005-09-25 00:35:13 UTC
(rev 18040)
+++ trunk/reactos/lib/iphlpapi/ifenum_reactos.c 2005-09-25 04:55:16 UTC
(rev 18041)
@@ -363,6 +363,7 @@
if( infoSetInt ) {
for( i = 0; i < numEntities; i++ ) {
if( isInterface( &entIDSet[i] ) ) {
+ infoSetInt[curInterf].entity_id = entIDSet[i];
status = tdiGetMibForIfEntity
( tcpFile,
&entIDSet[i],
@@ -769,7 +770,7 @@
sizeof(info.if_info) );
}
- DPRINT1("entry->bDescr = %s\n", entry->bDescr);
+ DPRINT("entry->bDescr = %s\n", entry->bDescr);
closeTcpFile( tcpFile );
}
_____
Modified: trunk/reactos/lib/iphlpapi/iphlpapi_main.c
--- trunk/reactos/lib/iphlpapi/iphlpapi_main.c 2005-09-25 00:35:13 UTC
(rev 18040)
+++ trunk/reactos/lib/iphlpapi/iphlpapi_main.c 2005-09-25 04:55:16 UTC
(rev 18041)
@@ -935,8 +935,9 @@
if (!dwOutBufLen)
ret = ERROR_INVALID_PARAMETER;
else {
- DWORD numInterfaces = getNumInterfaces();
- ULONG size = sizeof(IP_INTERFACE_INFO) + (numInterfaces - 1) *
+ DWORD numNonLoopbackInterfaces = getNumNonLoopbackInterfaces();
+ DPRINT("numNonLoopbackInterfaces == 0x%x\n",
numNonLoopbackInterfaces);
+ ULONG size = sizeof(IP_INTERFACE_INFO) + (numNonLoopbackInterfaces)
*
sizeof(IP_ADAPTER_INDEX_MAP);
if (!pIfTable || *dwOutBufLen < size) {
@@ -944,10 +945,11 @@
ret = ERROR_INSUFFICIENT_BUFFER;
}
else {
- InterfaceIndexTable *table = getInterfaceIndexTable();
+ InterfaceIndexTable *table = getNonLoopbackInterfaceIndexTable();
+ DPRINT("table->numIndexes == 0x%x\n", table->numIndexes);
if (table) {
- size = sizeof(IP_INTERFACE_INFO) + (table->numIndexes - 1) *
+ size = sizeof(IP_INTERFACE_INFO) + (table->numIndexes) *
sizeof(IP_ADAPTER_INDEX_MAP);
if (*dwOutBufLen < size) {
*dwOutBufLen = size;