Commit f7296885ea86be9557608e8397983b06da1d7db0
1 parent
a9dffbc9
fix makros for access to addrinfo structure.
Showing
1 changed file
with
21 additions
and
23 deletions
... | ... | @@ -74,10 +74,7 @@ TR_INSTANCE_INIT(TR_Socket); |
74 | 74 | #define TR_socketPort(socket) (((TR_Socket)(socket))->port) |
75 | 75 | #define TR_socketCname(socket) (((TR_Socket)(socket))->cname) |
76 | 76 | #define TR_socketTtl(socket) (((TR_Socket)(socket))->ttl) |
77 | - | |
78 | -#define TR_socketAddr(socket) \ | |
79 | - ((unsigned char *)&((TR_Socket)(socket))->addr) | |
80 | - | |
77 | +#define TR_socketAddr(socket) ((void *)&((TR_Socket)(socket))->addr) | |
81 | 78 | #define TR_socketAddrlen(socket) (((TR_Socket)(socket))->addrlen) |
82 | 79 | #define TR_socketHandle(socket) (((TR_Socket)(socket))->handle) |
83 | 80 | #define TR_socketFinState(socket) (((TR_Socket)(socket))->fin_state) |
... | ... | @@ -86,31 +83,32 @@ TR_INSTANCE_INIT(TR_Socket); |
86 | 83 | #define TR_socketFinRdWr(socket) ((TR_socketFinState((socket)) & 3) == 3) |
87 | 84 | |
88 | 85 | #define TR_socketAddrPort(socket) \ |
89 | - (((TR_Socket)(socket))->addr.info.sa_family == AF_INET \ | |
86 | + (((TR_Socket)(socket))->addr.info.sa_family == AF_INET \ | |
90 | 87 | ? ((TR_Socket)(socket))->addr.in.sin_port \ |
91 | 88 | : ((TR_Socket)(socket))->addr.info.sa_family == AF_INET6 \ |
92 | 89 | ? ((TR_Socket)(socket))->addr.in6.sin6_port \ |
93 | - : -1) | |
90 | + : 0) | |
94 | 91 | |
95 | -#define TR_socketAddrIp(socket) \ | |
96 | - (((TR_Socket)(socket))->addr.info.sa_family == AF_INET \ | |
97 | - ? ((TR_Socket)(socket))->addr.in.sin_addr.s_addr \ | |
98 | - : ((TR_Socket)(socket))->addr.info.sa_family == AF_INET6 \ | |
99 | - ? ((TR_Socket)(socket))->addr.in6.sin6_addr.s6_addr \ | |
92 | +#define TR_socketAddrIp(socket) \ | |
93 | + (((TR_Socket)(socket))->addr.info.sa_family == AF_INET \ | |
94 | + ? (void *)&((TR_Socket)(socket))->addr.in.sin_addr.s_addr \ | |
95 | + : ((TR_Socket)(socket))->addr.info.sa_family == AF_INET6 \ | |
96 | + ? (void *)&((TR_Socket)(socket))->addr.in6.sin6_addr.s6_addr \ | |
100 | 97 | : NULL) |
101 | 98 | |
102 | -#define TR_socketAddrIpStr(socket, buffer, nbuffer) \ | |
103 | - (((TR_Socket)(socket))->addr.info.sa_family == AF_INET \ | |
104 | - ? inet_ntop( \ | |
105 | - ((TR_Socket)(socket))->addr.info.sa_family, \ | |
106 | - &((TR_Socket)(socket))->addr.in.sin_addr.s_addr, \ | |
107 | - buffer, nbuffer) \ | |
108 | - : ((TR_Socket)(socket))->addr.info.sa_family == AF_INET6 \ | |
109 | - ? inet_ntop( \ | |
110 | - ((TR_Socket)(socket))->addr.info.sa_family, \ | |
111 | - ((TR_Socket)(socket))->addr.in6.sin6_addr.s6_addr, \ | |
112 | - buffer, nbuffer) \ | |
113 | - : NULL) | |
99 | +#define TR_socketAddrIplen(socket) \ | |
100 | + (((TR_Socket)(socket))->addr.info.sa_family == AF_INET \ | |
101 | + ? sizeof(((TR_Socket)(socket))->addr.in.sin_addr) \ | |
102 | + : ((TR_Socket)(socket))->addr.info.sa_family == AF_INET6 \ | |
103 | + ? sizeof(((TR_Socket)(socket))->addr.in6.sin6_addr) \ | |
104 | + : 0) | |
105 | + | |
106 | +#define TR_socketAddrIpStr(socket, buffer, nbuffer) \ | |
107 | + if (TR_socketAddrIp((socket))) \ | |
108 | + inet_ntop( \ | |
109 | + ((TR_Socket)(socket))->addr.info.sa_family, \ | |
110 | + TR_socketAddrIp((socket)), \ | |
111 | + buffer, nbuffer) | |
114 | 112 | |
115 | 113 | TR_CLASS(TR_TcpSocket) { |
116 | 114 | TR_EXTENDS(TR_Socket); | ... | ... |
Please
register
or
login
to post a comment