From d477c5fdc761ff3b9dbb2ea19e62926928f5c4c7 Mon Sep 17 00:00:00 2001 From: Makuna Date: Fri, 24 Apr 2015 15:59:34 -0700 Subject: [PATCH] strnlen implementation since there is no ets_strnlen, provide an implementation --- .../esp8266com/esp8266/cores/esp8266/libc_replacements.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hardware/esp8266com/esp8266/cores/esp8266/libc_replacements.c b/hardware/esp8266com/esp8266/cores/esp8266/libc_replacements.c index 98f47e7aa2..0554184d5b 100644 --- a/hardware/esp8266com/esp8266/cores/esp8266/libc_replacements.c +++ b/hardware/esp8266com/esp8266/cores/esp8266/libc_replacements.c @@ -116,6 +116,13 @@ char* strncpy(char * dest, const char * src, size_t n) { return ets_strncpy(dest, src, n); } +size_t strnlen(const char *s, size_t len) { + // there is no ets_strnlen + const char *cp; + for (cp = s; len != 0 && *cp != '\0'; cp++, len--); + return (size_t)(cp - s); +} + char* strstr(const char *haystack, const char *needle) { return ets_strstr(haystack, needle); }