|
|
| version 1.11.2.1, 2012/05/14 15:08:26 | version 1.11.2.3, 2012/05/14 15:26:50 |
|---|---|
| Line 484 io_gethostbyname(const char *psHost, u_short port, io_ | Line 484 io_gethostbyname(const char *psHost, u_short port, io_ |
| if (!psHost || !addr) | if (!psHost || !addr) |
| return NULL; | return NULL; |
| else | |
| memset(addr, 0, sizeof(io_sockaddr_t)); | |
| if (*psHost != '/') { | if (*psHost != '/') { |
| /* resolver */ | /* resolver */ |
| Line 499 io_gethostbyname(const char *psHost, u_short port, io_ | Line 501 io_gethostbyname(const char *psHost, u_short port, io_ |
| } else | } else |
| addr->sa.sa_family = AF_LOCAL; | addr->sa.sa_family = AF_LOCAL; |
| memset(addr, 0, sizeof(io_sockaddr_t)); | |
| switch (addr->sa.sa_family) { | switch (addr->sa.sa_family) { |
| case AF_INET: | case AF_INET: |
| addr->sin.sin_len = sizeof(struct sockaddr_in); | addr->sin.sin_len = sizeof(struct sockaddr_in); |
| Line 516 io_gethostbyname(const char *psHost, u_short port, io_ | Line 517 io_gethostbyname(const char *psHost, u_short port, io_ |
| case AF_LOCAL: | case AF_LOCAL: |
| addr->sun.sun_len = sizeof(struct sockaddr_un); | addr->sun.sun_len = sizeof(struct sockaddr_un); |
| addr->sun.sun_family = AF_LOCAL; | addr->sun.sun_family = AF_LOCAL; |
| strlcpy(addr->sun.sun_path, psHost, sizeof addr->sun.sun_path); | memset(addr->sun.sun_path, 0, sizeof addr->sun.sun_path); |
| snprintf(addr->sun.sun_path, sizeof addr->sun.sun_path, "%s-%hu", psHost, port); | |
| return addr; | return addr; |
| default: | default: |
| io_SetErr(EPROTONOSUPPORT, "Unsuported address family %d", addr->sa.sa_family); | io_SetErr(EPROTONOSUPPORT, "Unsuported address family %d", addr->sa.sa_family); |