diff options
Diffstat (limited to '')
-rw-r--r-- | src/compat/strnlen.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/compat/strnlen.c b/src/compat/strnlen.c new file mode 100644 index 0000000..07db4a4 --- /dev/null +++ b/src/compat/strnlen.c @@ -0,0 +1,15 @@ +/* -*- mode: c; c-file-style: "openbsd" -*- */ + +#include <string.h> +#include "compat.h" + +/* + * Determine the length of a fixed-size string. This is really a + * wrapper around `memchr()`. + */ +size_t +strnlen(const char *string, size_t maxlen) +{ + const char *end = memchr(string, '\0', maxlen); + return end ? (size_t)(end - string) : maxlen; +} |