Blame src/compat/strnlen.c

Packit e9ba0d
/* -*- mode: c; c-file-style: "openbsd" -*- */
Packit e9ba0d
Packit e9ba0d
#include <string.h>
Packit e9ba0d
Packit e9ba0d
/*
Packit e9ba0d
 * Determine the length of a fixed-size string. This is really a
Packit e9ba0d
 * wrapper around `memchr()`.
Packit e9ba0d
 */
Packit e9ba0d
size_t
Packit e9ba0d
strnlen(const char *string, size_t maxlen)
Packit e9ba0d
{
Packit e9ba0d
	const char *end = memchr(string, '\0', maxlen);
Packit e9ba0d
	return end?(size_t)(end - string):maxlen;
Packit e9ba0d
}