diff --git a/sonoff/support.ino b/sonoff/support.ino index 4930f8e4b..a5d6e9e4e 100644 --- a/sonoff/support.ino +++ b/sonoff/support.ino @@ -130,6 +130,24 @@ size_t strchrspn(const char *str1, int character) return ret; } +// Function to return a substring defined by a delimiter at an index +char* subStr(char* dest, char* str, const char *delim, int index) +{ + char *act; + char *sub; + char *ptr; + int i; + + // Since strtok consumes the first arg, make a copy + strncpy(dest, str, strlen(str)); + for (i = 1, act = dest; i <= index; i++, act = NULL) { + sub = strtok_r(act, delim, &ptr); + if (sub == NULL) break; + } + sub = Trim(sub); + return sub; +} + double CharToDouble(char *str) { // simple ascii to double, because atof or strtod are too large