int WINS_GetSocketAddr (int socket, struct qsockaddr *addr) { int addrlen = sizeof(struct qsockaddr); unsigned int a; Q_memset(addr, 0, sizeof(struct qsockaddr)); pgetsockname(socket, (struct sockaddr *)addr, &addrlen); a = ((struct sockaddr_in *)addr)->sin_addr.s_addr; if (a == 0 || a == inet_addr("127.0.0.1")) ((struct sockaddr_in *)addr)->sin_addr.s_addr = myAddr; return 0; }
int WIPX_GetSocketAddr (int handle, struct qsockaddr *addr) { int socket = ipxsocket[handle]; int addrlen = sizeof(struct qsockaddr); Q_memset(addr, 0, sizeof(struct qsockaddr)); if(pgetsockname(socket, (struct sockaddr *)addr, &addrlen) != 0) { /*int*/ errno = pWSAGetLastError(); } return 0; }