Alexandre Julliard : netstat: Build with msvcrt.

Alexandre Julliard julliard at winehq.org
Tue Apr 30 15:59:55 CDT 2019


Module: wine
Branch: master
Commit: b13ce7597bba40cf3eabfe9fadff75d6b6db37a9
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=b13ce7597bba40cf3eabfe9fadff75d6b6db37a9

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Apr 29 11:54:02 2019 +0200

netstat: Build with msvcrt.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/netstat/Makefile.in |  3 ++-
 programs/netstat/netstat.c   | 39 ++++++++++++++++++++-------------------
 2 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/programs/netstat/Makefile.in b/programs/netstat/Makefile.in
index 78389db..7b877a7 100644
--- a/programs/netstat/Makefile.in
+++ b/programs/netstat/Makefile.in
@@ -1,7 +1,8 @@
 MODULE    = netstat.exe
-APPMODE   = -mconsole -municode
 IMPORTS   = iphlpapi user32 ws2_32
 
+EXTRADLLFLAGS = -mconsole -municode -mno-cygwin
+
 C_SRCS = netstat.c
 
 RC_SRCS = netstat.rc
diff --git a/programs/netstat/netstat.c b/programs/netstat/netstat.c
index afa211d..b332020 100644
--- a/programs/netstat/netstat.c
+++ b/programs/netstat/netstat.c
@@ -17,10 +17,10 @@
  */
 
 #define NONAMELESSUNION
+#include <stdio.h>
 #include "netstat.h"
 #include <winsock2.h>
 #include <iphlpapi.h>
-#include "wine/unicode.h"
 #include "wine/debug.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(netstat);
@@ -146,7 +146,7 @@ static WCHAR *NETSTAT_load_message(UINT id) {
 
     if (!LoadStringW(GetModuleHandleW(NULL), id, msg, ARRAY_SIZE(msg))) {
         WINE_FIXME("LoadString failed with %d\n", GetLastError());
-        strcpyW(msg, failedW);
+        lstrcpyW(msg, failedW);
     }
     return msg;
 }
@@ -154,7 +154,7 @@ static WCHAR *NETSTAT_load_message(UINT id) {
 static WCHAR *NETSTAT_port_name(UINT port, WCHAR name[])
 {
     /* FIXME: can we get the name? */
-    sprintfW(name, fmtport, htons((WORD)port));
+    swprintf(name, 32, fmtport, htons((WORD)port));
     return name;
 }
 
@@ -164,7 +164,8 @@ static WCHAR *NETSTAT_host_name(UINT ip, WCHAR name[])
 
     /* FIXME: can we get the name? */
     nip = htonl(ip);
-    sprintfW(name, fmtip, (nip >> 24) & 0xFF, (nip >> 16) & 0xFF, (nip >> 8) & 0xFF, (nip) & 0xFF);
+    swprintf(name, MAX_HOSTNAME_LEN, fmtip,
+             (nip >> 24) & 0xFF, (nip >> 16) & 0xFF, (nip >> 8) & 0xFF, (nip) & 0xFF);
     return name;
 }
 
@@ -173,9 +174,9 @@ static void NETSTAT_conn_header(void)
     WCHAR local[22], remote[22], state[22];
     NETSTAT_wprintf(fmtnn, NETSTAT_load_message(IDS_TCP_ACTIVE_CONN));
     NETSTAT_wprintf(fmtn);
-    strcpyW(local, NETSTAT_load_message(IDS_TCP_LOCAL_ADDR));
-    strcpyW(remote, NETSTAT_load_message(IDS_TCP_REMOTE_ADDR));
-    strcpyW(state, NETSTAT_load_message(IDS_TCP_STATE));
+    lstrcpyW(local, NETSTAT_load_message(IDS_TCP_LOCAL_ADDR));
+    lstrcpyW(remote, NETSTAT_load_message(IDS_TCP_REMOTE_ADDR));
+    lstrcpyW(state, NETSTAT_load_message(IDS_TCP_STATE));
     NETSTAT_wprintf(fmttcpout, NETSTAT_load_message(IDS_TCP_PROTO), local, remote, state);
 }
 
@@ -199,7 +200,7 @@ static void NETSTAT_eth_stats(void)
     NETSTAT_wprintf(NETSTAT_load_message(IDS_ETH_STAT));
     NETSTAT_wprintf(fmtn);
     NETSTAT_wprintf(fmtn);
-    strcpyW(recv, NETSTAT_load_message(IDS_ETH_RECV));
+    lstrcpyW(recv, NETSTAT_load_message(IDS_ETH_RECV));
     NETSTAT_wprintf(fmtethheader, recv, NETSTAT_load_message(IDS_ETH_SENT));
 
     octets[0] = octets[1] = 0;
@@ -264,8 +265,8 @@ static void NETSTAT_tcp_table(void)
             NETSTAT_host_name(table->table[i].dwRemoteAddr, RemoteIp);
             NETSTAT_port_name(table->table[i].dwRemotePort, RemotePort);
 
-            sprintfW(Host, fmtcolon, HostIp, HostPort);
-            sprintfW(Remote, fmtcolon, RemoteIp, RemotePort);
+            swprintf(Host, ARRAY_SIZE(Host), fmtcolon, HostIp, HostPort);
+            swprintf(Remote, ARRAY_SIZE(Remote), fmtcolon, RemoteIp, RemotePort);
             NETSTAT_wprintf(fmttcpout, tcpW, Host, Remote, tcpstatesW[table->table[i].u.dwState]);
         }
     }
@@ -313,7 +314,7 @@ static void NETSTAT_udp_table(void)
         NETSTAT_host_name(table->table[i].dwLocalAddr, HostIp);
         NETSTAT_port_name(table->table[i].dwLocalPort, HostPort);
 
-        sprintfW(Host, fmtcolon, HostIp, HostPort);
+        swprintf(Host, ARRAY_SIZE(Host), fmtcolon, HostIp, HostPort);
         NETSTAT_wprintf(fmtudpout, udpW, Host);
     }
     HeapFree(GetProcessHeap(), 0, table);
@@ -336,14 +337,14 @@ static void NETSTAT_udp_stats(void)
 
 static NETSTATPROTOCOLS NETSTAT_get_protocol(WCHAR name[])
 {
-    if (!strcmpiW(name, ipW)) return PROT_IP;
-    if (!strcmpiW(name, ipv6W)) return PROT_IPV6;
-    if (!strcmpiW(name, icmpW)) return PROT_ICMP;
-    if (!strcmpiW(name, icmpv6W)) return PROT_ICMPV6;
-    if (!strcmpiW(name, tcpW)) return PROT_TCP;
-    if (!strcmpiW(name, tcpv6W)) return PROT_TCPV6;
-    if (!strcmpiW(name, udpW)) return PROT_UDP;
-    if (!strcmpiW(name, udpv6W)) return PROT_UDPV6;
+    if (!wcsicmp(name, ipW)) return PROT_IP;
+    if (!wcsicmp(name, ipv6W)) return PROT_IPV6;
+    if (!wcsicmp(name, icmpW)) return PROT_ICMP;
+    if (!wcsicmp(name, icmpv6W)) return PROT_ICMPV6;
+    if (!wcsicmp(name, tcpW)) return PROT_TCP;
+    if (!wcsicmp(name, tcpv6W)) return PROT_TCPV6;
+    if (!wcsicmp(name, udpW)) return PROT_UDP;
+    if (!wcsicmp(name, udpv6W)) return PROT_UDPV6;
     return PROT_UNKNOWN;
 }
 




More information about the wine-cvs mailing list