@@ -241,7 +241,9 @@ void wifi_reset(void) {
241241void ipaddress_ipaddress_to_esp_idf (mp_obj_t ip_address , ip_addr_t * esp_ip_address ) {
242242 if (mp_obj_is_type (ip_address , & ipaddress_ipv4address_type )) {
243243 ipaddress_ipaddress_to_esp_idf_ip4 (ip_address , (esp_ip4_addr_t * )esp_ip_address );
244+ #if LWIP_IPV6
244245 esp_ip_address -> type = IPADDR_TYPE_V4 ;
246+ #endif
245247 } else {
246248 struct sockaddr_storage addr_storage ;
247249 socketpool_resolve_host_or_throw (AF_UNSPEC , SOCK_STREAM , mp_obj_str_get_str (ip_address ), & addr_storage , 1 );
@@ -283,10 +285,13 @@ mp_obj_t espaddr6_to_str(const esp_ip6_addr_t *espaddr) {
283285
284286mp_obj_t sockaddr_to_str (const struct sockaddr_storage * sockaddr ) {
285287 char buf [IPADDR_STRLEN_MAX ];
288+ #if CIRCUITPY_SOCKETPOOL_IPV6
286289 if (sockaddr -> ss_family == AF_INET6 ) {
287290 const struct sockaddr_in6 * addr6 = (const void * )sockaddr ;
288291 inet_ntop (AF_INET6 , & addr6 -> sin6_addr , buf , sizeof (buf ));
289- } else {
292+ } else
293+ #endif
294+ {
290295 const struct sockaddr_in * addr = (const void * )sockaddr ;
291296 inet_ntop (AF_INET , & addr -> sin_addr , buf , sizeof (buf ));
292297 }
@@ -298,20 +303,24 @@ mp_obj_t sockaddr_to_tuple(const struct sockaddr_storage *sockaddr) {
298303 sockaddr_to_str (sockaddr ),
299304 };
300305 int n = 2 ;
306+ #if CIRCUITPY_SOCKETPOOL_IPV6
301307 if (sockaddr -> ss_family == AF_INET6 ) {
302308 const struct sockaddr_in6 * addr6 = (const void * )sockaddr ;
303309 args [1 ] = MP_OBJ_NEW_SMALL_INT (htons (addr6 -> sin6_port ));
304310 args [2 ] = MP_OBJ_NEW_SMALL_INT (addr6 -> sin6_flowinfo );
305311 args [3 ] = MP_OBJ_NEW_SMALL_INT (addr6 -> sin6_scope_id );
306312 n = 4 ;
307- } else {
313+ } else
314+ #endif
315+ {
308316 const struct sockaddr_in * addr = (const void * )sockaddr ;
309317 args [1 ] = MP_OBJ_NEW_SMALL_INT (htons (addr -> sin_port ));
310318 }
311319 return mp_obj_new_tuple (n , args );
312320}
313321
314322void sockaddr_to_espaddr (const struct sockaddr_storage * sockaddr , esp_ip_addr_t * espaddr ) {
323+ #if CIRCUITPY_SOCKETPOOL_IPV6
315324 MP_STATIC_ASSERT (IPADDR_TYPE_V4 == ESP_IPADDR_TYPE_V4 );
316325 MP_STATIC_ASSERT (IPADDR_TYPE_V6 == ESP_IPADDR_TYPE_V6 );
317326 MP_STATIC_ASSERT (sizeof (ip_addr_t ) == sizeof (esp_ip_addr_t ));
@@ -323,7 +332,9 @@ void sockaddr_to_espaddr(const struct sockaddr_storage *sockaddr, esp_ip_addr_t
323332 memcpy (& espaddr -> u_addr .ip6 .addr , & addr6 -> sin6_addr , sizeof (espaddr -> u_addr .ip6 .addr ));
324333 espaddr -> u_addr .ip6 .zone = addr6 -> sin6_scope_id ;
325334 espaddr -> type = ESP_IPADDR_TYPE_V6 ;
326- } else {
335+ } else
336+ #endif
337+ {
327338 const struct sockaddr_in * addr = (const void * )sockaddr ;
328339 MP_STATIC_ASSERT (sizeof (espaddr -> u_addr .ip4 .addr ) == sizeof (addr -> sin_addr ));
329340 memcpy (& espaddr -> u_addr .ip4 .addr , & addr -> sin_addr , sizeof (espaddr -> u_addr .ip4 .addr ));
@@ -332,11 +343,14 @@ void sockaddr_to_espaddr(const struct sockaddr_storage *sockaddr, esp_ip_addr_t
332343}
333344
334345void espaddr_to_sockaddr (const esp_ip_addr_t * espaddr , struct sockaddr_storage * sockaddr , int port ) {
346+ #if CIRCUITPY_SOCKETPOOL_IPV6
335347 if (espaddr -> type == ESP_IPADDR_TYPE_V6 ) {
336348 struct sockaddr_in6 * addr6 = (void * )sockaddr ;
337349 memcpy (& addr6 -> sin6_addr , & espaddr -> u_addr .ip6 .addr , sizeof (espaddr -> u_addr .ip6 .addr ));
338350 addr6 -> sin6_scope_id = espaddr -> u_addr .ip6 .zone ;
339- } else {
351+ } else
352+ #endif
353+ {
340354 struct sockaddr_in * addr = (void * )sockaddr ;
341355 memcpy (& addr -> sin_addr , & espaddr -> u_addr .ip4 .addr , sizeof (espaddr -> u_addr .ip4 .addr ));
342356 }
0 commit comments