|
|
| version 1.10.10.5, 2014/11/26 00:34:27 | version 1.10.10.6, 2014/12/11 01:51:24 |
|---|---|
| Line 551 e_getifacebyname(const char *psIface, sockaddr_t * __r | Line 551 e_getifacebyname(const char *psIface, sockaddr_t * __r |
| sockaddr_t * | sockaddr_t * |
| e_getlinkbyname(const char *psHost, sockaddr_t * __restrict addr) | e_getlinkbyname(const char *psHost, sockaddr_t * __restrict addr) |
| { | { |
| if (!addr) | ait_val_t v; |
| sockaddr_t *a = addr; | |
| if (!psHost || !addr) | |
| return NULL; | return NULL; |
| else | else |
| memset(addr, 0, sizeof(sockaddr_t)); | memset(addr, 0, sizeof(sockaddr_t)); |
| AIT_INIT_VAL2(&v, string); | |
| if (!strchr(psHost, '.')) | |
| AIT_SET_STR(&v, ":"); | |
| AIT_SET_STRCAT(&v, psHost); | |
| addr->sdl.sdl_len = sizeof(struct sockaddr_dl); | addr->sdl.sdl_len = sizeof(struct sockaddr_dl); |
| if (e_link_addr(psHost, &addr->sdl)) | if (e_link_addr(AIT_GET_STR(&v), &addr->sdl)) |
| return NULL; | a = NULL; |
| return addr; | AIT_FREE_VAL(&v); |
| return a; | |
| } | } |