libc/baselibc/src/strnlen.c (10 lines of code) (raw):

/* * strnlen() */ #include <string.h> size_t strnlen(const char *s, size_t maxlen) { const char *ss = s; /* Important: the maxlen test must precede the reference through ss; since the byte beyond the maximum may segfault */ while ((maxlen > 0) && *ss) { ss++; maxlen--; } return ss - s; }