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.
diff --git a/lib/str.c b/lib/str.c
index 797e9b8..18a5d8e 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 @@
   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