diff options
author | DJ Delorie <dj@delorie.com> | 2012-10-10 03:11:22 +0000 |
---|---|---|
committer | DJ Delorie <dj@delorie.com> | 2012-10-10 03:11:22 +0000 |
commit | bf7c8219274f81a1f8ae3a03e4e96a2bb6bfd1a7 (patch) | |
tree | 958ab87ada32b0edc8bcb41d5a8b5f895eca23e1 /libiberty/strnlen.c | |
parent | 6fcaa160862fda55e90d58afd714bc7a690c1f64 (diff) | |
download | gdb-bf7c8219274f81a1f8ae3a03e4e96a2bb6bfd1a7.tar.gz |
merge from gcc
Diffstat (limited to 'libiberty/strnlen.c')
-rw-r--r-- | libiberty/strnlen.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/libiberty/strnlen.c b/libiberty/strnlen.c new file mode 100644 index 00000000000..4934973adca --- /dev/null +++ b/libiberty/strnlen.c @@ -0,0 +1,30 @@ +/* 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; +} |