summaryrefslogtreecommitdiffstats
path: root/man/man3/strnlen.3
diff options
context:
space:
mode:
Diffstat (limited to 'man/man3/strnlen.3')
-rw-r--r--man/man3/strnlen.383
1 files changed, 83 insertions, 0 deletions
diff --git a/man/man3/strnlen.3 b/man/man3/strnlen.3
new file mode 100644
index 000000000..098d44ba6
--- /dev/null
+++ b/man/man3/strnlen.3
@@ -0,0 +1,83 @@
+'\" t
+.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
+.\"
+.\" SPDX-License-Identifier: GPL-2.0-or-later
+.\"
+.\" References consulted:
+.\" GNU glibc-2 source code and manual
+.\"
+.TH strnlen 3 (date) "Linux man-pages (unreleased)"
+.SH NAME
+strnlen \- determine the length of a fixed-size string
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <string.h>
+.P
+.BI "size_t strnlen(const char " s [. maxlen "], size_t " maxlen );
+.fi
+.P
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.P
+.BR strnlen ():
+.nf
+ Since glibc 2.10:
+ _POSIX_C_SOURCE >= 200809L
+ Before glibc 2.10:
+ _GNU_SOURCE
+.fi
+.SH DESCRIPTION
+The
+.BR strnlen ()
+function returns the number of bytes in the string
+pointed to by
+.IR s ,
+excluding the terminating null byte (\[aq]\e0\[aq]),
+but at most
+.IR maxlen .
+In doing this,
+.BR strnlen ()
+looks only at the first
+.I maxlen
+characters in the string pointed to by
+.I s
+and never beyond
+.IR s[maxlen\-1] .
+.SH RETURN VALUE
+The
+.BR strnlen ()
+function returns
+.IR strlen(s) ,
+if that is less than
+.IR maxlen ,
+or
+.I maxlen
+if there is no null terminating (\[aq]\e0\[aq]) among the first
+.I maxlen
+characters pointed to by
+.IR s .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR strnlen ()
+T} Thread safety MT-Safe
+.TE
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2008.
+.SH SEE ALSO
+.BR strlen (3)