From 7e7cc2b427f588559d50bae35d49c305201c2365 Mon Sep 17 00:00:00 2001 From: robert-hh Date: Thu, 28 Mar 2024 08:03:41 +0100 Subject: extmod/network_ninaw10: Implement the ipconfig methods for ninaw10. This implements network.ipconfig() and network.WLAN.ipconfig() when the ninaw10 driver is used for WLAN. Due to a omission in the ninaw10 driver stack, setting the DNS address has no effect. But the interface is kept here just in case it's fixed eventually. dhcp4 and has_dhcp4 are dummy arguments. Ninaw10 seems to always use DHCP. Signed-off-by: robert-hh --- shared/netutils/netutils.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'shared/netutils/netutils.c') diff --git a/shared/netutils/netutils.c b/shared/netutils/netutils.c index 84b4405c4..cd1422f7c 100644 --- a/shared/netutils/netutils.c +++ b/shared/netutils/netutils.c @@ -63,7 +63,13 @@ void netutils_parse_ipv4_addr(mp_obj_t addr_in, uint8_t *out_ip, netutils_endian return; } const char *s = addr_str; - const char *s_top = addr_str + addr_len; + const char *s_top; + // Scan for the end of valid address characters + for (s_top = addr_str; s_top < addr_str + addr_len; s_top++) { + if (!(*s_top == '.' || (*s_top >= '0' && *s_top <= '9'))) { + break; + } + } for (mp_uint_t i = 3; ; i--) { mp_uint_t val = 0; for (; s < s_top && *s != '.'; s++) { -- cgit v1.2.3