[WLANCONF]
[reactos.git] / base / applications / network / wlanconf / wlanconf.c
index 5b265da..397048c 100644 (file)
@@ -315,7 +315,7 @@ WlanConnect(HANDLE hAdapter)
         HeapFree(GetProcessHeap(), 0, SetOid);
 
         SetOidSize = sizeof(NDISUIO_SET_OID) + FIELD_OFFSET(NDIS_802_11_WEP, KeyMaterial) +
-                     (strlen(sWepKey) >> 2);
+                     (strlen(sWepKey) >> 1);
         SetOid = HeapAlloc(GetProcessHeap(), 0, SetOidSize);
         if (!SetOid)
             return FALSE;
@@ -325,15 +325,15 @@ WlanConnect(HANDLE hAdapter)
         WepData = (PNDIS_802_11_WEP)SetOid->Data;
 
         WepData->KeyIndex = 0x80000000;
-        WepData->KeyLength = strlen(sWepKey) >> 2;
+        WepData->KeyLength = strlen(sWepKey) >> 1;
         WepData->Length = FIELD_OFFSET(NDIS_802_11_WEP, KeyMaterial) + WepData->KeyLength;
         
         /* Assemble the hex key */
         i = 0;
-        while (sWepKey[i << 2] != '\0')
+        while (sWepKey[i << 1] != '\0')
         {
-            WepData->KeyMaterial[i] = CharToHex(sWepKey[i << 2]) << 4;
-            WepData->KeyMaterial[i] |= CharToHex(sWepKey[(i << 2) + 1]);
+            WepData->KeyMaterial[i] = CharToHex(sWepKey[i << 1]) << 4;
+            WepData->KeyMaterial[i] |= CharToHex(sWepKey[(i << 1) + 1]);
             i++;
         }
         
@@ -482,13 +482,14 @@ WlanScan(HANDLE hAdapter)
             NDIS_802_11_RSSI Rssi = BssidInfo->Rssi;
             NDIS_802_11_NETWORK_INFRASTRUCTURE NetworkType = BssidInfo->InfrastructureMode;
             CHAR SsidBuffer[NDIS_802_11_LENGTH_SSID + 1];
+            UINT Rate;
 
             /* SSID member is a non-null terminated ASCII string */
             RtlCopyMemory(SsidBuffer, Ssid->Ssid, Ssid->SsidLength);
             SsidBuffer[Ssid->SsidLength] = 0;
             
             _tprintf(_T("\nSSID: %s\n"
-                        "Encrypted: %s"
+                        "Encrypted: %s\n"
                         "Network Type: %s\n"
                         "RSSI: %i dBm\n"
                         "Supported Rates (Mbps): "),
@@ -499,10 +500,16 @@ WlanScan(HANDLE hAdapter)
             
             for (j = 0; j < NDIS_802_11_LENGTH_RATES; j++)
             {
-                if (BssidInfo->SupportedRates[j] != 0)
+                Rate = BssidInfo->SupportedRates[j];
+                if (Rate != 0)
                 {
+                    /* Bit 7 is the basic rates bit */
+                    Rate = Rate & 0x7F;
+
                     /* SupportedRates are in units of .5 */
-                    _tprintf(_T("%d "), (BssidInfo->SupportedRates[j] << 2));
+                    Rate = Rate << 1;
+
+                    _tprintf(_T("%u "), Rate);
                 }
             }
             _tprintf(_T("\n"));