comparison udp.c @ 2738:1f5c5c223764 libavformat

Remove some ifdefs by using the "dest_addr_len" field in both the IPv4-only code and the protocol-independent code
author lucabe
date Wed, 14 Nov 2007 07:35:36 +0000
parents 7d25b8de708d
children 091af9f47edf
comparison
equal deleted inserted replaced
2737:1e7edb0c6cfc 2738:1f5c5c223764
36 #ifndef CONFIG_IPV6 36 #ifndef CONFIG_IPV6
37 struct ip_mreq mreq; 37 struct ip_mreq mreq;
38 struct sockaddr_in dest_addr; 38 struct sockaddr_in dest_addr;
39 #else 39 #else
40 struct sockaddr_storage dest_addr; 40 struct sockaddr_storage dest_addr;
41 #endif
41 size_t dest_addr_len; 42 size_t dest_addr_len;
42 #endif
43 } UDPContext; 43 } UDPContext;
44 44
45 #define UDP_TX_BUF_SIZE 32768 45 #define UDP_TX_BUF_SIZE 32768
46 #define UDP_MAX_PKT_SIZE 65536 46 #define UDP_MAX_PKT_SIZE 65536
47 47
232 /* set the destination address */ 232 /* set the destination address */
233 if (resolve_host(&s->dest_addr.sin_addr, hostname) < 0) 233 if (resolve_host(&s->dest_addr.sin_addr, hostname) < 0)
234 return AVERROR(EIO); 234 return AVERROR(EIO);
235 s->dest_addr.sin_family = AF_INET; 235 s->dest_addr.sin_family = AF_INET;
236 s->dest_addr.sin_port = htons(port); 236 s->dest_addr.sin_port = htons(port);
237 s->dest_addr_len = sizeof(s->dest_addr);
237 return 0; 238 return 0;
238 #endif 239 #endif
239 } 240 }
240 241
241 /** 242 /**
439 int ret; 440 int ret;
440 441
441 for(;;) { 442 for(;;) {
442 ret = sendto (s->udp_fd, buf, size, 0, 443 ret = sendto (s->udp_fd, buf, size, 0,
443 (struct sockaddr *) &s->dest_addr, 444 (struct sockaddr *) &s->dest_addr,
444 #ifndef CONFIG_IPV6
445 sizeof (s->dest_addr));
446 #else
447 s->dest_addr_len); 445 s->dest_addr_len);
448 #endif
449 if (ret < 0) { 446 if (ret < 0) {
450 if (ff_neterrno() != FF_NETERROR(EINTR) && 447 if (ff_neterrno() != FF_NETERROR(EINTR) &&
451 ff_neterrno() != FF_NETERROR(EAGAIN)) 448 ff_neterrno() != FF_NETERROR(EAGAIN))
452 return AVERROR(EIO); 449 return AVERROR(EIO);
453 } else { 450 } else {