Changeset 3860
- Timestamp:
- 03/02/06 19:10:37 (3 years ago)
- Files:
-
- libwired/trunk/libwired/net/wi-host.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
libwired/trunk/libwired/net/wi-host.c
r3811 r3860 197 197 static wi_list_t * _wi_host_all_interface_addresses(void) { 198 198 #if defined(HAVE_GETIFADDRS) && !defined(HAVE_GLIBC) 199 wi_list_t *list = NULL;199 wi_list_t *list; 200 200 wi_address_t *address; 201 201 struct ifaddrs *ifap, *ifp; … … 232 232 return wi_autorelease(list); 233 233 #else 234 wi_list_t *list; 235 wi_address_t *address; 236 struct sockaddr_in sa; 234 wi_list_t *list; 235 wi_address_t *address; 236 struct sockaddr_in sa; 237 struct sockaddr_in6 sa6; 238 239 list = wi_list_init(wi_list_alloc()); 237 240 238 241 memset(&sa, 0, sizeof(sa)); 239 242 sa.sin_family = AF_INET; 240 243 sa.sin_addr.s_addr = INADDR_ANY; 244 #ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN 245 sa.sin_len = sizeof(sa); 246 #endif 241 247 242 248 address = wi_address_init_with_sa(wi_address_alloc(), (struct sockaddr *) &sa); 243 list = wi_list_init_with_data(wi_list_alloc(), address, NULL);249 wi_list_append_data(list, address); 244 250 wi_release(address); 245 251 252 memset(&sa6, 0, sizeof(sa6)); 253 sa6.sin6_family = AF_INET6; 254 sa6.sin6_addr = in6addr_any; 255 #ifdef HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN 256 sa6.sin6_len = sizeof(sa6); 257 #endif 258 259 address = wi_address_init_with_sa(wi_address_alloc(), (struct sockaddr *) &sa6); 260 wi_list_append_data(list, address); 261 wi_release(address); 262 246 263 return wi_autorelease(list); 247 264 #endif
