/*------------------------------------------------------------------------- * * strnlen.c * Fallback implementation of strnlen(). * * * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION * src/port/strnlen.c * *------------------------------------------------------------------------- */ #include "c.h" /* * Implementation of posix' strnlen for systems where it's not available. * * Returns the number of characters before a null-byte in the string pointed * to by str, unless there's no null-byte before maxlen. In the latter case * maxlen is returned. */ size_t strnlen(const char *str, size_t maxlen) { const char *p = str; while (maxlen-- > 0 && *p) p++; return p - str; }