From 6f9601ced916a745cba5e2ad3039455196e8a694 Mon Sep 17 00:00:00 2001 From: DanielR92 Date: Sat, 19 Oct 2024 19:45:15 +0200 Subject: [PATCH] perfomance boost with ip2addr --- src/utils/helper.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/utils/helper.cpp b/src/utils/helper.cpp index b30f58e0..f974901e 100644 --- a/src/utils/helper.cpp +++ b/src/utils/helper.cpp @@ -14,15 +14,17 @@ const char dayShortNames_P[] PROGMEM = STR_DAYNAME_3_CHAR_LIST; namespace ah { void ip2Arr(uint8_t ip[], const char *ipStr) { - uint8_t p = 1; memset(ip, 0, 4); - for(uint8_t i = 0; i < 16; i++) { - if(ipStr[i] == 0) - return; - if(0 == i) - ip[0] = atoi(ipStr); - else if(ipStr[i] == '.') - ip[p++] = atoi(&ipStr[i+1]); + uint8_t p = 0; + const char *start = ipStr; + + for (uint8_t i = 0; i < 4; i++) { + ip[i] = (uint8_t)strtol(start, (char**)&start, 10); + if (*start == '.') { + start++; + } else if (*start == '\0') { + break; + } } }