check NDIS ParameterType (fix by Crashfourit)
Modified: trunk/reactos/drivers/net/ndis/ndis/config.c

Modified: trunk/reactos/drivers/net/ndis/ndis/config.c
--- trunk/reactos/drivers/net/ndis/ndis/config.c	2006-01-23 12:59:30 UTC (rev 21001)
+++ trunk/reactos/drivers/net/ndis/ndis/config.c	2006-01-23 18:15:00 UTC (rev 21002)
@@ -493,8 +493,17 @@
             str.Buffer = (PWCHAR)KeyInformation->Data;
 
             (*ParameterValue)->ParameterType = ParameterType;
-            *Status = RtlUnicodeStringToInteger(&str, 16, &(*ParameterValue)->ParameterData.IntegerData);
+            
+            /*
+                 If ParameterType is NdisParameterInteger then the base of str is decimal.
+                 If ParameterType is NdisParameterHexInteger then the base of str is hexadecimal.
+            */
+            if (ParameterType == NdisParameterInteger)
+               *Status = RtlUnicodeStringToInteger(&str, 10, &(*ParameterValue)->ParameterData.IntegerData);
+            else if (ParameterType == NdisParameterHexInteger)
+               *Status = RtlUnicodeStringToInteger(&str, 16, &(*ParameterValue)->ParameterData.IntegerData);
 
+
             ExFreePool(KeyInformation);
 
             if(*Status != STATUS_SUCCESS)