| 138 | } |
| 139 | |
| 140 | SOCK_UDP *udp_client_open(const char *local, const char *peer) |
| 141 | { |
| 142 | struct addrinfo *peer_res0 = host_addrinfo(peer); |
| 143 | SOCK_UDP *sock; |
| 144 | |
| 145 | if (peer_res0 == NULL) |
| 146 | return NULL; |
| 147 | |
| 148 | sock = sock_open(local); |
| 149 | if (sock == NULL) { |
| 150 | freeaddrinfo(peer_res0); |
| 151 | return NULL; |
| 152 | } |
| 153 | |
| 154 | memcpy(&sock->sa_peer, peer_res0->ai_addr, peer_res0->ai_addrlen); |
| 155 | sock->sa_peer_len = peer_res0->ai_addrlen; |
| 156 | freeaddrinfo(peer_res0); |
| 157 | return sock; |
| 158 | } |
| 159 | |
| 160 | SOCK_UDP *udp_server_open(const char *local) |
| 161 | { |
no test coverage detected
searching dependent graphs…