https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f63310b056036fac229e34afb47808ff70811c1c

commit f63310b056036fac229e34afb47808ff70811c1c
Author:     Eric Kohl <[email protected]>
AuthorDate: Sun Oct 27 09:33:27 2019 +0100
Commit:     Eric Kohl <[email protected]>
CommitDate: Sun Oct 27 09:33:27 2019 +0100

    [IPCONFIG] Revert changes that were not meant to be published yet
---
 base/applications/network/ipconfig/ipconfig.c | 157 +++++++++++---------------
 1 file changed, 65 insertions(+), 92 deletions(-)

diff --git a/base/applications/network/ipconfig/ipconfig.c 
b/base/applications/network/ipconfig/ipconfig.c
index fdebdb1d8b4..1b15e3f5369 100644
--- a/base/applications/network/ipconfig/ipconfig.c
+++ b/base/applications/network/ipconfig/ipconfig.c
@@ -34,59 +34,6 @@
 HINSTANCE hInstance;
 HANDLE ProcessHeap;
 
-BOOL
-DoNamesMatch(
-    _In_ LPWSTR pszName,
-    _In_ LPTSTR pszPattern)
-{
-    if (pszPattern == NULL)
-        return TRUE;
-
-//    if (_wcsicmp(pszName, pszPattern) == 0)
-//        return TRUE;
-#if 0
-    for (;;)
-    {
-        if (*pszPattern == L'*')
-        {
-            pszPattern++;
-            if (*pszPattern == L'\0')
-                return TRUE;
-
-            while (towlower(*pszName) != towlower(*pszPattern))
-            {
-                if (*pszName == L'\0')
-                    return FALSE;
-
-                pszName++;
-            }
-        }
-        else if (*pszPattern == L'?')
-        {
-            pszPattern++;
-
-            if (*pszName == L'\0')
-                return FALSE;
-
-            pszName++;
-        }
-        else
-        {
-            if (*pszName == L'\0' && *pszPattern == L'\0')
-                return TRUE;
-
-            if (towlower(*pszName) != towlower(*pszPattern))
-                return FALSE;
-
-            pszName++;
-            pszPattern++;
-        }
-    }
-#endif
-
-    return FALSE;
-}
-
 int LoadStringAndOem(HINSTANCE hInst,
                      UINT uID,
                      LPTSTR szNode,
@@ -660,20 +607,22 @@ VOID Release(LPTSTR Index)
     IP_ADAPTER_INDEX_MAP AdapterInfo;
     DWORD ret;
     DWORD i;
-    PIP_INTERFACE_INFO pInfo = NULL;
-    ULONG ulOutBufLen = 0;
 
-    if (GetInterfaceInfo(pInfo, &ulOutBufLen) == ERROR_INSUFFICIENT_BUFFER)
+    /* if interface is not given, query GetInterfaceInfo */
+    if (Index == NULL)
     {
-        pInfo = (IP_INTERFACE_INFO *)HeapAlloc(ProcessHeap, 0, ulOutBufLen);
-        if (pInfo == NULL)
-            return;
+        PIP_INTERFACE_INFO pInfo = NULL;
+        ULONG ulOutBufLen = 0;
 
-        if (GetInterfaceInfo(pInfo, &ulOutBufLen) == NO_ERROR )
+        if (GetInterfaceInfo(pInfo, &ulOutBufLen) == ERROR_INSUFFICIENT_BUFFER)
         {
-            for (i = 0; i < pInfo->NumAdapters; i++)
+            pInfo = (IP_INTERFACE_INFO *)HeapAlloc(ProcessHeap, 0, 
ulOutBufLen);
+            if (pInfo == NULL)
+                return;
+
+            if (GetInterfaceInfo(pInfo, &ulOutBufLen) == NO_ERROR )
             {
-                if (DoNamesMatch(pInfo->Adapter[i].Name, Index))
+                for (i = 0; i < pInfo->NumAdapters; i++)
                 {
                     CopyMemory(&AdapterInfo, &pInfo->Adapter[i], 
sizeof(IP_ADAPTER_INDEX_MAP));
                     _tprintf(_T("name - %ls\n"), pInfo->Adapter[i].Name);
@@ -685,57 +634,71 @@ VOID Release(LPTSTR Index)
                         DoFormatMessage(ret);
                     }
                 }
-            }
 
-            HeapFree(ProcessHeap, 0, pInfo);
+                HeapFree(ProcessHeap, 0, pInfo);
+            }
+            else
+            {
+                DoFormatMessage(0);
+                HeapFree(ProcessHeap, 0, pInfo);
+                return;
+            }
         }
         else
         {
             DoFormatMessage(0);
-            HeapFree(ProcessHeap, 0, pInfo);
             return;
         }
     }
     else
     {
-        DoFormatMessage(0);
-        return;
+        ;
+        /* FIXME:
+         * we need to be able to release connections by name with support for 
globbing
+         * i.e. ipconfig /release Eth* will release all cards starting with 
Eth...
+         *      ipconfig /release *con* will release all cards with 'con' in 
their name
+         */
     }
 }
 
+
+
+
 VOID Renew(LPTSTR Index)
 {
     IP_ADAPTER_INDEX_MAP AdapterInfo;
-    PIP_INTERFACE_INFO pInfo;
-    ULONG ulOutBufLen = 0;
     DWORD i;
 
-    pInfo = (IP_INTERFACE_INFO *)HeapAlloc(ProcessHeap, 0, 
sizeof(IP_INTERFACE_INFO));
-    if (pInfo == NULL)
+    /* if interface is not given, query GetInterfaceInfo */
+    if (Index == NULL)
     {
-        _tprintf(_T("memory allocation error"));
-        return;
-    }
+        PIP_INTERFACE_INFO pInfo;
+        ULONG ulOutBufLen = 0;
 
-    /* Make an initial call to GetInterfaceInfo to get
-     * the necessary size into the ulOutBufLen variable */
-    if (GetInterfaceInfo(pInfo, &ulOutBufLen) == ERROR_INSUFFICIENT_BUFFER)
-    {
-        HeapFree(ProcessHeap, 0, pInfo);
-        pInfo = (IP_INTERFACE_INFO *)HeapAlloc(ProcessHeap, 0, ulOutBufLen);
+        pInfo = (IP_INTERFACE_INFO *)HeapAlloc(ProcessHeap, 0, 
sizeof(IP_INTERFACE_INFO));
         if (pInfo == NULL)
         {
             _tprintf(_T("memory allocation error"));
             return;
         }
-    }
 
-    /* Make a second call to GetInterfaceInfo to get the actual data we want */
-    if (GetInterfaceInfo(pInfo, &ulOutBufLen) == NO_ERROR)
-    {
-        for (i = 0; i < pInfo->NumAdapters; i++)
+        /* Make an initial call to GetInterfaceInfo to get
+         * the necessary size into the ulOutBufLen variable */
+        if (GetInterfaceInfo(pInfo, &ulOutBufLen) == ERROR_INSUFFICIENT_BUFFER)
         {
-            if (DoNamesMatch(pInfo->Adapter[i].Name, Index))
+            HeapFree(ProcessHeap, 0, pInfo);
+            pInfo = (IP_INTERFACE_INFO *)HeapAlloc(ProcessHeap, 0, 
ulOutBufLen);
+            if (pInfo == NULL)
+            {
+                _tprintf(_T("memory allocation error"));
+                return;
+            }
+        }
+
+        /* Make a second call to GetInterfaceInfo to get the actual data we 
want */
+        if (GetInterfaceInfo(pInfo, &ulOutBufLen) == NO_ERROR)
+        {
+            for (i = 0; i < pInfo->NumAdapters; i++)
             {
                 CopyMemory(&AdapterInfo, &pInfo->Adapter[i], 
sizeof(IP_ADAPTER_INDEX_MAP));
                 _tprintf(_T("name - %ls\n"), pInfo->Adapter[i].Name);
@@ -748,14 +711,23 @@ VOID Renew(LPTSTR Index)
                 }
             }
         }
+        else
+        {
+            _tprintf(_T("\nGetInterfaceInfo failed : "));
+            DoFormatMessage(0);
+        }
+
+        HeapFree(ProcessHeap, 0, pInfo);
     }
     else
     {
-        _tprintf(_T("\nGetInterfaceInfo failed : "));
-        DoFormatMessage(0);
+        ;
+        /* FIXME:
+         * we need to be able to renew connections by name with support for 
globbing
+         * i.e. ipconfig /renew Eth* will renew all cards starting with Eth...
+         *      ipconfig /renew *con* will renew all cards with 'con' in their 
name
+         */
     }
-
-    HeapFree(ProcessHeap, 0, pInfo);
 }
 
 VOID
@@ -1018,9 +990,10 @@ int main(int argc, char *argv[])
             break;
         case 3: /* Process all the options that can have 1 parameter */
             if (DoRelease)
-                Release(argv[2]);
+                _tprintf(_T("\nSorry /release [adapter] is not implemented 
yet\n"));
+                //Release(argv[2]);
             else if (DoRenew)
-                Renew(argv[2]);
+                _tprintf(_T("\nSorry /renew [adapter] is not implemented 
yet\n"));
             else if (DoShowclassid)
                 _tprintf(_T("\nSorry /showclassid adapter is not implemented 
yet\n"));
             else if (DoSetclassid)

Reply via email to