PostgreSQL Source Code: src/port/strnlen.c Source File (original) (raw)

Go to the documentation of this file.

1/*-------------------------------------------------------------------------

2 *

3 * strnlen.c

4 * Fallback implementation of strnlen().

5 *

6 *

7 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group

8 * Portions Copyright (c) 1994, Regents of the University of California

9 *

10 * IDENTIFICATION

11 * src/port/strnlen.c

12 *

13 *-------------------------------------------------------------------------

14 */

15

16#include "c.h"

17

18/*

19 * Implementation of posix' strnlen for systems where it's not available.

20 *

21 * Returns the number of characters before a null-byte in the string pointed

22 * to by str, unless there's no null-byte before maxlen. In the latter case

23 * maxlen is returned.

24 */

25size_t

27{

28 const char *p = str;

29

30 while (maxlen-- > 0 && *p)

31 p++;

32 return p - str;

33}

size_t strnlen(const char *str, size_t maxlen)