diff options
author | Robert Pluim <rpluim@gmail.com> | 2019-11-27 10:41:32 +0100 |
---|---|---|
committer | Robert Pluim <rpluim@gmail.com> | 2019-11-28 09:41:28 +0100 |
commit | b05aa8d742d80aeb692c54289e8ccb074a68bf51 (patch) | |
tree | 039d002db29ac1cacac44fa5def51b5440e4e337 | |
parent | 25d4bf4fe0f0765f04404399b50cda91e827315e (diff) | |
download | emacs-b05aa8d742d80aeb692c54289e8ccb074a68bf51.tar.gz |
Support wlan in network-interface-list on pre-Vista Windows
* src/w32.c (network_interface_list): Check for 'Wireless' in
adapter description to support pre-Vista Windows.
-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; |