Juan Lang : ws2_32: Add debug support for IPv6 addresses.
Alexandre Julliard
julliard at winehq.org
Tue Aug 4 12:24:50 CDT 2009
Module: wine
Branch: master
Commit: 90c52c0180e2223fafb93b796751f738bd120c64
URL: http://source.winehq.org/git/wine.git/?a=commit;h=90c52c0180e2223fafb93b796751f738bd120c64
Author: Juan Lang <juan.lang at gmail.com>
Date: Mon Aug 3 09:33:02 2009 -0700
ws2_32: Add debug support for IPv6 addresses.
---
dlls/ws2_32/socket.c | 25 +++++++++++++++++++++----
1 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index 2eb5837..a601521 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -170,10 +170,27 @@ union generic_unix_sockaddr
static inline const char *debugstr_sockaddr( const struct WS_sockaddr *a )
{
if (!a) return "(nil)";
- return wine_dbg_sprintf("{ family %d, address %s, port %d }",
- ((const struct sockaddr_in *)a)->sin_family,
- inet_ntoa(((const struct sockaddr_in *)a)->sin_addr),
- ntohs(((const struct sockaddr_in *)a)->sin_port));
+ switch (a->sa_family)
+ {
+ case WS_AF_INET:
+ return wine_dbg_sprintf("{ family AF_INET, address %s, port %d }",
+ inet_ntoa(((const struct sockaddr_in *)a)->sin_addr),
+ ntohs(((const struct sockaddr_in *)a)->sin_port));
+ case WS_AF_INET6:
+ {
+ char buf[46];
+ const char *p;
+ struct WS_sockaddr_in6 *sin = (struct WS_sockaddr_in6 *)a;
+
+ p = WS_inet_ntop( WS_AF_INET6, &sin->sin6_addr, buf, sizeof(buf) );
+ if (!p)
+ p = "(unknown IPv6 address)";
+ return wine_dbg_sprintf("{ family AF_INET6, address %s, port %d }",
+ p, ntohs(sin->sin6_port));
+ }
+ default:
+ return wine_dbg_sprintf("{ family %d }", a->sa_family);
+ }
}
/* HANDLE<->SOCKET conversion (SOCKET is UINT_PTR). */
More information about the wine-cvs
mailing list