[ros-diffs] [gedmurphy] 19104: quick fix to show more than one adapter

gedmurphy at svn.reactos.com gedmurphy at svn.reactos.com
Wed Nov 9 21:42:15 CET 2005


quick fix to show more than one adapter
code still needs work to get it as per MS ipconfig, but this should keep
people with more than one adapter happy until I get time to implement
everything properly.
Modified: trunk/reactos/apps/utils/net/ipconfig/ipconfig.c
  _____  

Modified: trunk/reactos/apps/utils/net/ipconfig/ipconfig.c
--- trunk/reactos/apps/utils/net/ipconfig/ipconfig.c	2005-11-09
18:39:33 UTC (rev 19103)
+++ trunk/reactos/apps/utils/net/ipconfig/ipconfig.c	2005-11-09
20:42:04 UTC (rev 19104)
@@ -97,13 +97,13 @@

 
 INT ShowInfo(BOOL bAll)
 {
-    PIP_ADAPTER_INFO pAdapterInfo;
+    PIP_ADAPTER_INFO pAdapterInfo = NULL;
     PIP_ADAPTER_INFO pAdapter = NULL;
     ULONG    adaptOutBufLen;
 
     PFIXED_INFO pFixedInfo;
     ULONG    netOutBufLen;
-    PIP_ADDR_STRING pIPAddr;
+    PIP_ADDR_STRING pIPAddr = NULL;
 
     /* assign memory for call to GetNetworkParams */
     pFixedInfo = (FIXED_INFO *) GlobalAlloc( GPTR, sizeof( FIXED_INFO )
);
@@ -114,29 +114,32 @@
     adaptOutBufLen = sizeof(IP_ADAPTER_INFO);
 
     /* set required buffer size */
-    if(GetNetworkParams(pFixedInfo, &netOutBufLen) ==
ERROR_BUFFER_OVERFLOW)
-    {
+    if(GetNetworkParams(pFixedInfo, &netOutBufLen) ==
ERROR_BUFFER_OVERFLOW) 
+	{
         GlobalFree(pFixedInfo);
         pFixedInfo = (FIXED_INFO *) GlobalAlloc(GPTR, netOutBufLen);
     }
 
     /* set required buffer size */
-    if (GetAdaptersInfo( pAdapterInfo, &adaptOutBufLen) ==
ERROR_BUFFER_OVERFLOW)
-    {
+    if (GetAdaptersInfo( pAdapterInfo, &adaptOutBufLen) ==
ERROR_BUFFER_OVERFLOW) 
+	{
        free(pAdapterInfo);
        pAdapterInfo = (IP_ADAPTER_INFO *) malloc (adaptOutBufLen);
     }
 
-    if (GetAdaptersInfo(pAdapterInfo, &adaptOutBufLen) == NO_ERROR)
-    {
-      if (GetNetworkParams(pFixedInfo, &netOutBufLen) == NO_ERROR)
-      {
-        pAdapter = pAdapterInfo;
+    if (! GetAdaptersInfo(pAdapterInfo, &adaptOutBufLen) == NO_ERROR)
+        _tprintf(_T("GetAdaptersInfo failed %lu\n"), GetLastError());
+    if (! GetNetworkParams(pFixedInfo, &netOutBufLen) == NO_ERROR)
+        _tprintf(_T("GetNetworkParams failed %lu\n"), GetLastError());
+    
+    pAdapter = pAdapterInfo;
         //HKEY hKey;
         //LPCTSTR lpSubKey =
_T("SYSTEM\\ControlSet\\Control\\Network");
 
-        _tprintf(_T("\nReactOS IP Configuration\n\n"));
+    _tprintf(_T("\nReactOS IP Configuration\n\n"));
 
+	do
+	{
         if (bAll)
         {
             _tprintf(_T("\tHost Name . . . . . . . . . . . . : %s\n"),
pFixedInfo->HostName);
@@ -153,7 +156,7 @@
             _tprintf(_T("\tDNS Suffix Search List. . . . . . : %s\n"),
pFixedInfo->DomainName);
         }
 
-        _tprintf(_T("\n%s Local Area Connection: \n\n"),
GetInterfaceTypeName(pAdapter->Type));
+        _tprintf(_T("\n%s ...... : \n\n"),
GetInterfaceTypeName(pAdapter->Type));
         _tprintf(_T("\tConnection-specific DNS Suffix. . : %s\n"),
pFixedInfo->DomainName);
 
         if (bAll)
@@ -196,14 +199,11 @@
             }
         }
         _tprintf(_T("\n"));
-    }
-    else
-        _tprintf(_T("Call to GetNetworkParams failed.\n"));
         
-       }
-    else
-        _tprintf(_T("Call to GetAdaptersInfo failed.\n"));
+		pAdapter = pAdapter->Next;
 
+    } while (pAdapter);
+ 
     return 0;
 }
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20051109/6baa9899/attachment.html


More information about the Ros-diffs mailing list