Skip to content

Commit f0a29c9

Browse files
committed
[NETSH] Improve MatchToken and implement MatchEnumTag
1 parent 13d7084 commit f0a29c9

File tree

1 file changed

+22
-3
lines changed
  • base/applications/network/netsh

1 file changed

+22
-3
lines changed

base/applications/network/netsh/netsh.c

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,23 @@ MatchEnumTag(
203203
_In_ const TOKEN_VALUE *pEnumTable,
204204
_Out_ PDWORD pdwValue)
205205
{
206-
DPRINT1("MatchEnumTag()\n");
207-
return 0;
206+
DWORD i;
207+
208+
DPRINT("MatchEnumTag(%p %p %lu %p %p)\n", hModule, pwcArg, dwNumArg, pEnumTable, pdwValue);
209+
210+
if ((pEnumTable == NULL) || (pdwValue == NULL))
211+
return ERROR_INVALID_PARAMETER;
212+
213+
for (i = 0; i < dwNumArg; i++)
214+
{
215+
if (MatchToken(pwcArg, pEnumTable[i].pwszToken))
216+
{
217+
*pdwValue = pEnumTable[i].dwValue;
218+
return ERROR_SUCCESS;
219+
}
220+
}
221+
222+
return ERROR_NOT_FOUND;
208223
}
209224

210225
BOOL
@@ -213,7 +228,11 @@ MatchToken(
213228
_In_ LPCWSTR pwszUserToken,
214229
_In_ LPCWSTR pwszCmdToken)
215230
{
216-
DPRINT1("MatchToken %S %S\n", pwszUserToken, pwszCmdToken);
231+
DPRINT("MatchToken(%S %S)\n", pwszUserToken, pwszCmdToken);
232+
233+
if ((pwszUserToken == NULL) || (pwszCmdToken == NULL))
234+
return FALSE;
235+
217236
return (_wcsnicmp(pwszUserToken, pwszCmdToken, wcslen(pwszUserToken)) == 0) ? TRUE : FALSE;
218237
}
219238

0 commit comments

Comments
 (0)