mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-30 15:24:07 +08:00
9a9baa5254
* strnlen.c: New file. * configure.ac: Check for strnlen, add it to AC_LIBOBJ if it's not present. * Makefile.in: Rebuild dependencies. (CFILES): Add strnlen.c. (CONFIGURED_OFILES): Add ./strnlen.$(objext). * configure, config.in, functions.texi: Rebuild. * maint-tool: Accept .def files in the include directory. From-SVN: r191432
31 lines
585 B
C
31 lines
585 B
C
/* Portable version of strnlen.
|
|
This function is in the public domain. */
|
|
|
|
/*
|
|
|
|
@deftypefn Supplemental size_t strnlen (const char *@var{s}, size_t @var{maxlen})
|
|
|
|
Returns the length of @var{s}, as with @code{strlen}, but never looks
|
|
past the first @var{maxlen} characters in the string. If there is no
|
|
'\0' character in the first @var{maxlen} characters, returns
|
|
@var{maxlen}.
|
|
|
|
@end deftypefn
|
|
|
|
*/
|
|
|
|
#include "config.h"
|
|
|
|
#include <stddef.h>
|
|
|
|
size_t
|
|
strnlen (const char *s, size_t maxlen)
|
|
{
|
|
size_t i;
|
|
|
|
for (i = 0; i < maxlen; ++i)
|
|
if (s[i] == '\0')
|
|
break;
|
|
return i;
|
|
}
|