|
@@ -541,10 +541,10 @@ getaddrinfo(const char *node, const char *service, const struct addrinfo *hints,
|
|
|
}
|
|
}
|
|
|
} while (max_info_size > addr_info_size);
|
|
} while (max_info_size > addr_info_size);
|
|
|
|
|
|
|
|
|
|
+ addr_info_size = max_info_size;
|
|
|
if (addr_info_size == 0) {
|
|
if (addr_info_size == 0) {
|
|
|
free(addr_info);
|
|
free(addr_info);
|
|
|
- *res = NULL;
|
|
|
|
|
- return __WASI_ERRNO_SUCCESS;
|
|
|
|
|
|
|
+ HANDLE_ERROR(__WASI_ERRNO_NOENT)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
aibuf_res =
|
|
aibuf_res =
|
|
@@ -556,10 +556,6 @@ getaddrinfo(const char *node, const char *service, const struct addrinfo *hints,
|
|
|
|
|
|
|
|
*res = &aibuf_res[0].ai;
|
|
*res = &aibuf_res[0].ai;
|
|
|
|
|
|
|
|
- if (addr_info_size) {
|
|
|
|
|
- addr_info_size = max_info_size;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
for (i = 0; i < addr_info_size; i++) {
|
|
for (i = 0; i < addr_info_size; i++) {
|
|
|
struct addrinfo *ai = &aibuf_res[i].ai;
|
|
struct addrinfo *ai = &aibuf_res[i].ai;
|
|
|
ai->ai_addr = (struct sockaddr *)&aibuf_res[i].sa;
|
|
ai->ai_addr = (struct sockaddr *)&aibuf_res[i].sa;
|