Browse Source

perfomance boost with ip2addr

pull/1771/head
DanielR92 7 months ago
parent
commit
6f9601ced9
  1. 18
      src/utils/helper.cpp

18
src/utils/helper.cpp

@ -14,15 +14,17 @@ const char dayShortNames_P[] PROGMEM = STR_DAYNAME_3_CHAR_LIST;
namespace ah { namespace ah {
void ip2Arr(uint8_t ip[], const char *ipStr) { void ip2Arr(uint8_t ip[], const char *ipStr) {
uint8_t p = 1;
memset(ip, 0, 4); memset(ip, 0, 4);
for(uint8_t i = 0; i < 16; i++) { uint8_t p = 0;
if(ipStr[i] == 0) const char *start = ipStr;
return;
if(0 == i) for (uint8_t i = 0; i < 4; i++) {
ip[0] = atoi(ipStr); ip[i] = (uint8_t)strtol(start, (char**)&start, 10);
else if(ipStr[i] == '.') if (*start == '.') {
ip[p++] = atoi(&ipStr[i+1]); start++;
} else if (*start == '\0') {
break;
}
} }
} }

Loading…
Cancel
Save