/* SPDX-License-Identifier: MIT */
int
slen(const char *s,
size_t maxlen,
size_t *rval)
{
size_t ch;
if (s == NULL ||
rval == NULL) {
errno = EFAULT;
return -1;
}
for (ch = 0;
ch < maxlen && s[ch] != '\0';
ch++);
if (ch == maxlen) {
/* unterminated */
errno = EFAULT;
return -1;
}
*rval = ch;
return 0;
}
/* we've been doing unix wrong since 1982 */