diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/w32.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/w32.c b/src/w32.c index a6ebe55ee4d..9f3c1b5d6ed 100644 --- a/src/w32.c +++ b/src/w32.c @@ -9540,8 +9540,23 @@ network_interface_list (bool full, unsigned short match) switch (adapter->IfType) { case IF_TYPE_ETHERNET_CSMACD: - ifmt_idx = ETHERNET; - if_num = eth_count++; + /* Windows before Vista reports wireless adapters as + Ethernet. Work around by looking at the Description + string. */ + { + char description[MAX_UTF8_PATH]; + if (filename_from_utf16 (adapter->Description, description) == 0 + && strstr (description, "Wireless ")) + { + ifmt_idx = WLAN; + if_num = wlan_count++; + } + else + { + ifmt_idx = ETHERNET; + if_num = eth_count++; + } + } break; case IF_TYPE_ISO88025_TOKENRING: ifmt_idx = TOKENRING; |
