summaryrefslogtreecommitdiff
path: root/lib/str.c
diff options
context:
space:
mode:
authorajs <ajs>2005-04-02 16:01:05 +0000
committerajs <ajs>2005-04-02 16:01:05 +0000
commit3cb98dee9067372756964f461eb2c931a1c75138 (patch)
tree726827878765c01c45e5be08b909974ae54ce79f /lib/str.c
parent47004ec501bd70d558c11af05d8bacd66a8c7c25 (diff)
2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* configure.ac: Add strnlen to AC_CHECK_FUNCS. * zebra.h: Should include str.h to pick up missing functions. * str.h: Declare strnlen if needed. * str.c: Do not include str.h since zebra.h now includes it. (strnlen) New function.
Diffstat (limited to 'lib/str.c')
-rw-r--r--lib/str.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/str.c b/lib/str.c
index 797e9b87..18a5d8ed 100644
--- a/lib/str.c
+++ b/lib/str.c
@@ -8,8 +8,6 @@
#include <zebra.h>
-#include "str.h"
-
#ifndef HAVE_SNPRINTF
/*
* snprint() is a real basic wrapper around the standard sprintf()
@@ -60,3 +58,12 @@ strlcat(char *dst, const char *src, size_t size)
return (strlen(dst));
}
#endif
+
+#ifndef HAVE_STRNLEN
+size_t
+strnlen(const char *s, size_t maxlen)
+{
+ const char *p;
+ return (p = (const char *)memchr(s, '\0', maxlen)) ? (size_t)(p-s) : maxlen;
+}
+#endif