summaryrefslogtreecommitdiff
path: root/ports/esp32/modsocket.c
diff options
context:
space:
mode:
Diffstat (limited to 'ports/esp32/modsocket.c')
-rw-r--r--ports/esp32/modsocket.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ports/esp32/modsocket.c b/ports/esp32/modsocket.c
index 916eb79bd..7ea5e855d 100644
--- a/ports/esp32/modsocket.c
+++ b/ports/esp32/modsocket.c
@@ -213,7 +213,7 @@ static int mdns_getaddrinfo(const char *host_str, const char *port_str,
#endif // MICROPY_HW_ENABLE_MDNS_QUERIES
static void _getaddrinfo_inner(const mp_obj_t host, const mp_obj_t portx,
- const struct addrinfo *hints, struct addrinfo **res) {
+ struct addrinfo *hints, struct addrinfo **res) {
int retval = 0;
*res = NULL;
@@ -235,6 +235,9 @@ static void _getaddrinfo_inner(const mp_obj_t host, const mp_obj_t portx,
MP_THREAD_GIL_EXIT();
+ // The ai_canonname field is used below, so set the hint.
+ hints->ai_flags |= AI_CANONNAME;
+
#if MICROPY_HW_ENABLE_MDNS_QUERIES
retval = mdns_getaddrinfo(host_str, port_str, hints, res);
#endif
@@ -264,7 +267,8 @@ static void _getaddrinfo_inner(const mp_obj_t host, const mp_obj_t portx,
static void _socket_getaddrinfo(const mp_obj_t addrtuple, struct addrinfo **resp) {
mp_obj_t *elem;
mp_obj_get_array_fixed_n(addrtuple, 2, &elem);
- _getaddrinfo_inner(elem[0], elem[1], NULL, resp);
+ struct addrinfo hints = { 0 };
+ _getaddrinfo_inner(elem[0], elem[1], &hints, resp);
}
static mp_obj_t socket_make_new(const mp_obj_type_t *type_in, size_t n_args, size_t n_kw, const mp_obj_t *args) {