File: strnlen.3

package info (click to toggle)
manpages 3.44-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 12,880 kB
  • sloc: sh: 404; perl: 166; makefile: 87; lisp: 22
file content (67 lines) | stat: -rw-r--r-- 1,664 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" References consulted:
.\"   GNU glibc-2 source code and manual
.\"
.TH STRNLEN 3  2012-05-10 "GNU" "Linux Programmer's Manual"
.SH NAME
strnlen \- determine the length of a fixed-size string
.SH SYNOPSIS
.nf
.B #include <string.h>
.sp
.BI "size_t strnlen(const char *" s ", size_t " maxlen );
.fi
.sp
.in -4n
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.in
.sp
.BR strnlen ():
.PD 0
.ad l
.RS 4
.TP 4
Since glibc 2.10:
_XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L
.TP
Before glibc 2.10:
_GNU_SOURCE
.RE
.ad
.PD
.SH DESCRIPTION
The
.BR strnlen ()
function returns the number of bytes in the string
pointed to by \fIs\fP, excluding the terminating null bye (\(aq\\0\(aq),
but at most \fImaxlen\fP.
In doing this,
.BR strnlen ()
looks only at the first
\fImaxlen\fP bytes at \fIs\fP and never beyond \fIs+maxlen\fP.
.SH "RETURN VALUE"
The
.BR strnlen ()
function returns \fIstrlen(s)\fP, if that is less than
\fImaxlen\fP, or \fImaxlen\fP
if there is no null byte (\(aq\\0\(aq) among the first
\fImaxlen\fP bytes pointed to by \fIs\fP.
.SH "CONFORMING TO"
POSIX.1-2008.
.SH "SEE ALSO"
.BR strlen (3)
.SH COLOPHON
This page is part of release 3.44 of the Linux
.I man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://www.kernel.org/doc/man-pages/.