Changeset 520:97b25e01e6a7 in roaraudio for libroar
- Timestamp:
- 08/15/08 15:09:11 (16 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroar/socket.c
r514 r520 302 302 303 303 304 if ( type == ROAR_SOCKET_TYPE_INET ) {304 if ( type == ROAR_SOCKET_TYPE_INET || type == ROAR_SOCKET_TYPE_INET6 ) { 305 305 306 306 if ( (he = gethostbyname(host)) == NULL ) { … … 310 310 } 311 311 312 memcpy((struct in_addr *)&socket_addr.in.sin_addr, he->h_addr, sizeof(struct in_addr)); 313 314 /* set the connect information */ 315 socket_addr.in.sin_family = AF_INET; 316 socket_addr.in.sin_port = htons( port ); 317 318 fh = roar_socket_new_tcp(); 319 320 if ( mode_func(fh, (struct sockaddr *)&socket_addr.in, sizeof(struct sockaddr_in)) == -1 ) { 321 ROAR_DBG("roar_socket_open(*): Can not connect/bind: %s", strerror(errno)); 322 close(fh); 312 if ( he->h_addrtype == AF_INET ) { 313 if ( type != ROAR_SOCKET_TYPE_INET ) 314 return -1; 315 316 memcpy((struct in_addr *)&socket_addr.in.sin_addr, he->h_addr, sizeof(struct in_addr)); 317 318 /* set the connect information */ 319 socket_addr.in.sin_family = AF_INET; 320 socket_addr.in.sin_port = ROAR_HOST2NET16(port); 321 322 fh = roar_socket_new_tcp(); 323 324 if ( mode_func(fh, (struct sockaddr *)&socket_addr.in, sizeof(struct sockaddr_in)) == -1 ) { 325 ROAR_DBG("roar_socket_open(*): Can not connect/bind: %s", strerror(errno)); 326 close(fh); 327 return -1; 328 } 329 } if ( he->h_addrtype == AF_INET6 ) { 330 if ( type != ROAR_SOCKET_TYPE_INET6 ) 331 return -1; 332 333 memcpy((struct in6_addr *)&socket_addr.in6.sin6_addr, he->h_addr, sizeof(struct in6_addr)); 334 335 /* set the connect information */ 336 socket_addr.in6.sin6_family = AF_INET6; 337 socket_addr.in6.sin6_port = ROAR_HOST2NET16(port); 338 339 fh = roar_socket_new_tcp6(); 340 341 if ( mode_func(fh, (struct sockaddr *)&socket_addr.in6, sizeof(struct sockaddr_in6)) == -1 ) { 342 ROAR_DBG("roar_socket_open(*): Can not connect/bind: %s", strerror(errno)); 343 close(fh); 344 return -1; 345 } 346 } else { 323 347 return -1; 324 348 } … … 335 359 return -1; 336 360 } 337 } else if ( type == ROAR_SOCKET_TYPE_INET6 ) {338 return -1;339 361 } else if ( type == ROAR_SOCKET_TYPE_FORK ) { 340 362 return roar_socket_open_fork(mode, host, port);
Note: See TracChangeset
for help on using the changeset viewer.