Changeset 376:9547ed19bc09 in roaraudio
- Timestamp:
- 08/05/08 15:51:37 (16 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroar/socket.c
r375 r376 71 71 72 72 int roar_socket_dup_udp_local_end (int fh) { 73 return -1; 73 int n = -1; 74 int flags = -1; 75 struct sockaddr_in socket_addr; 76 socklen_t len = sizeof(struct sockaddr_in); 77 78 if ( (flags = fcntl(fh, F_GETFL, 0)) == -1 ) { 79 ROAR_WARN("roar_socket_dup_udp_local_end(fh=%i): Can not read flags: %s", fh, strerror(errno)); 80 } 81 82 if ( getsockname(fh, (struct sockaddr *)&socket_addr, &len) == -1 ) { 83 return -1; 84 } 85 86 if ( socket_addr.sin_family != AF_INET ) { 87 return -1; 88 } 89 90 n = roar_socket_new_udp(); 91 92 if ( n == -1 ) 93 return -1; 94 95 // if ( mode_func(fh, (struct sockaddr *)&socket_addr, sizeof(struct sockaddr_in)) == -1 ) { 96 if ( bind(n, (struct sockaddr *)&socket_addr, len) == -1 ) { 97 close(n); 98 return -1; 99 } 100 101 if ( flags != -1 ) { 102 if ( fcntl(fh, F_SETFL, flags) == -1 ) { 103 ROAR_WARN("roar_socket_dup_udp_local_end(fh=%i): Can not set flags: %s", fh, strerror(errno)); 104 return -1; 105 } 106 } 107 108 109 return n; 74 110 } 75 111
Note: See TracChangeset
for help on using the changeset viewer.