diff options
Diffstat (limited to 'util/network/interface.cpp')
-rw-r--r-- | util/network/interface.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/util/network/interface.cpp b/util/network/interface.cpp index 256776c6d3..03c3ccd98d 100644 --- a/util/network/interface.cpp +++ b/util/network/interface.cpp @@ -1,5 +1,7 @@ #include "interface.h" +#include <util/string/ascii.h> + #if defined(_unix_) #include <ifaddrs.h> #endif @@ -44,10 +46,10 @@ namespace NAddr { TNetworkInterface networkInterface; // Not very efficient but straightforward - for (size_t i = 0; ptr->FriendlyName[i] != 0; i++) { - CHAR w = ptr->FriendlyName[i]; - char c = (w < 0x80) ? char(w) : '?'; - networkInterface.Name.append(1, c); + wchar_t* it = ptr->FriendlyName; + while (*it != '\0') { + networkInterface.Name += IsAscii(*it) ? static_cast<char>(*it) : '?'; + ++it; } networkInterface.Address = new TOpaqueAddr(a); |