* Re: master 094eb04: Fix MS-Windows build with mingw.org's MinGW
[not found] ` <20191126171404.9DBBC20B21@vcs0.savannah.gnu.org>
@ 2019-11-26 18:25 ` Robert Pluim
2019-11-26 18:50 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Robert Pluim @ 2019-11-26 18:25 UTC (permalink / raw)
To: emacs-devel; +Cc: Eli Zaretskii
Thanks for that Eli. Since this is expected to work on pre-Vista
versions of Windows, is the equivalent to the following hack needed in
the new network-interface-list:
case MIB_IF_TYPE_ETHERNET:
/* Windows before Vista reports wireless adapters as
Ethernet. Work around by looking at the Description
string. */
if (strstr (adapter->Description, "Wireless "))
{
ifmt_idx = WLAN;
if_num = wlan_count++;
}
else
{
ifmt_idx = ETHERNET;
if_num = eth_count++;
}
GetAdaptersAddresses returns wchar_t* for the description field, which
means (I hope), that thereʼs some api for converting it appropriately.
Robert
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: master 094eb04: Fix MS-Windows build with mingw.org's MinGW
2019-11-26 18:25 ` master 094eb04: Fix MS-Windows build with mingw.org's MinGW Robert Pluim
@ 2019-11-26 18:50 ` Eli Zaretskii
2019-11-26 19:33 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2019-11-26 18:50 UTC (permalink / raw)
To: Robert Pluim; +Cc: emacs-devel
> From: Robert Pluim <rpluim@gmail.com>
> Cc: Eli Zaretskii <eliz@gnu.org>
> Date: Tue, 26 Nov 2019 19:25:54 +0100
>
> Thanks for that Eli. Since this is expected to work on pre-Vista
> versions of Windows, is the equivalent to the following hack needed in
> the new network-interface-list:
>
> case MIB_IF_TYPE_ETHERNET:
> /* Windows before Vista reports wireless adapters as
> Ethernet. Work around by looking at the Description
> string. */
> if (strstr (adapter->Description, "Wireless "))
> {
> ifmt_idx = WLAN;
> if_num = wlan_count++;
> }
> else
> {
> ifmt_idx = ETHERNET;
> if_num = eth_count++;
> }
I guess so.
> GetAdaptersAddresses returns wchar_t* for the description field, which
> means (I hope), that thereʼs some api for converting it appropriately.
We can use wcsstr instead.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: master 094eb04: Fix MS-Windows build with mingw.org's MinGW
2019-11-26 18:50 ` Eli Zaretskii
@ 2019-11-26 19:33 ` Eli Zaretskii
2019-11-27 10:57 ` Robert Pluim
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2019-11-26 19:33 UTC (permalink / raw)
To: rpluim; +Cc: emacs-devel
> Date: Tue, 26 Nov 2019 20:50:48 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: emacs-devel@gnu.org
>
> > GetAdaptersAddresses returns wchar_t* for the description field, which
> > means (I hope), that thereʼs some api for converting it appropriately.
>
> We can use wcsstr instead.
Alternatively, convert to ASCII with pWideCharToMultiByte (see
filename_to_ansi for an example), and then use strstr.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: master 094eb04: Fix MS-Windows build with mingw.org's MinGW
2019-11-26 19:33 ` Eli Zaretskii
@ 2019-11-27 10:57 ` Robert Pluim
2019-11-27 15:58 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Robert Pluim @ 2019-11-27 10:57 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-devel
>>>>> On Tue, 26 Nov 2019 21:33:21 +0200, Eli Zaretskii <eliz@gnu.org> said:
>> Date: Tue, 26 Nov 2019 20:50:48 +0200
>> From: Eli Zaretskii <eliz@gnu.org>
>> Cc: emacs-devel@gnu.org
>>
>> > GetAdaptersAddresses returns wchar_t* for the description field, which
>> > means (I hope), that thereʼs some api for converting it appropriately.
>>
>> We can use wcsstr instead.
Eli> Alternatively, convert to ASCII with pWideCharToMultiByte (see
Eli> filename_to_ansi for an example), and then use strstr.
Does the following work for you? I have neither a wireless card
nor a pre-Vista Windows install.
diff --git a/src/w32.c b/src/w32.c
index cb82d51fb9..c5d9a62925 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;
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: master 094eb04: Fix MS-Windows build with mingw.org's MinGW
2019-11-27 10:57 ` Robert Pluim
@ 2019-11-27 15:58 ` Eli Zaretskii
2019-11-28 8:43 ` Robert Pluim
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2019-11-27 15:58 UTC (permalink / raw)
To: Robert Pluim; +Cc: emacs-devel
> From: Robert Pluim <rpluim@gmail.com>
> Cc: emacs-devel@gnu.org
> Date: Wed, 27 Nov 2019 11:57:05 +0100
>
> Does the following work for you? I have neither a wireless card
> nor a pre-Vista Windows install.
I also have difficulty finding such a machine. The code looks fine to
me, though, so I suggest you go ahead and push it, and I will try to
test when I have the opportunity.
Thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: master 094eb04: Fix MS-Windows build with mingw.org's MinGW
2019-11-27 15:58 ` Eli Zaretskii
@ 2019-11-28 8:43 ` Robert Pluim
0 siblings, 0 replies; 6+ messages in thread
From: Robert Pluim @ 2019-11-28 8:43 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-devel
>>>>> On Wed, 27 Nov 2019 17:58:38 +0200, Eli Zaretskii <eliz@gnu.org> said:
>> From: Robert Pluim <rpluim@gmail.com>
>> Cc: emacs-devel@gnu.org
>> Date: Wed, 27 Nov 2019 11:57:05 +0100
>>
>> Does the following work for you? I have neither a wireless card
>> nor a pre-Vista Windows install.
Eli> I also have difficulty finding such a machine. The code looks fine to
Eli> me, though, so I suggest you go ahead and push it, and I will try to
Eli> test when I have the opportunity.
OK, pushed as b05aa8d742
Thanks
Robert
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-11-28 8:43 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20191126171403.25928.6996@vcs0.savannah.gnu.org>
[not found] ` <20191126171404.9DBBC20B21@vcs0.savannah.gnu.org>
2019-11-26 18:25 ` master 094eb04: Fix MS-Windows build with mingw.org's MinGW Robert Pluim
2019-11-26 18:50 ` Eli Zaretskii
2019-11-26 19:33 ` Eli Zaretskii
2019-11-27 10:57 ` Robert Pluim
2019-11-27 15:58 ` Eli Zaretskii
2019-11-28 8:43 ` Robert Pluim
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).