| .\" 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) |