Browse Source

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.
ajs 16 years ago
parent
commit
3cb98dee90
6 changed files with 28 additions and 5 deletions
  1. 4 0
      ChangeLog
  2. 2 2
      configure.ac
  3. 7 0
      lib/ChangeLog
  4. 9 2
      lib/str.c
  5. 5 1
      lib/str.h
  6. 1 0
      lib/zebra.h

+ 4 - 0
ChangeLog

@@ -1,3 +1,7 @@
+2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+	* configure.ac: Add strnlen to AC_CHECK_FUNCS.
+
 2005-03-28 Hasso Tepper <hasso at quagga.net>
 
 	* configure.ac, */Makefile.am: Fix previous commit. SNMP includes

+ 2 - 2
configure.ac

@@ -5,7 +5,7 @@
 ##  Copyright (c) 1996, 97, 98, 99, 2000 Kunihiro Ishiguro <kunihiro@zebra.org>
 ##  Portions Copyright (c) 2003 Paul Jakma <paul@dishone.st>
 ##
-## $Id: configure.ac,v 1.94 2005/03/28 15:29:07 hasso Exp $
+## $Id: configure.ac,v 1.95 2005/04/02 16:01:05 ajs Exp $
 AC_PREREQ(2.53)
 
 AC_INIT(Quagga, 0.99.0, [http://bugzilla.quagga.net])
@@ -454,7 +454,7 @@ dnl check existance of functions
 dnl ----------------------------
 AC_CHECK_FUNCS(memset memcpy strerror inet_aton daemon snprintf vsnprintf \
                strlcat strlcpy if_nametoindex if_indextoname getifaddrs \
-	       fcntl)
+	       fcntl strnlen)
 AC_CHECK_FUNCS(setproctitle, ,
   [AC_CHECK_LIB(util, setproctitle, 
      [LIBS="$LIBS -lutil"

+ 7 - 0
lib/ChangeLog

@@ -1,3 +1,10 @@
+2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+	* 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.
+
 2005-03-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* zebra.h: Must check whether __attribute__ should be defined before

+ 9 - 2
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

+ 5 - 1
lib/str.h

@@ -1,5 +1,5 @@
 /*
- * $Id: str.h,v 1.1 2002/12/13 20:15:29 paul Exp $
+ * $Id: str.h,v 1.2 2005/04/02 16:01:05 ajs Exp $
  */
 
 #ifndef _ZEBRA_STR_H
@@ -21,4 +21,8 @@ size_t strlcpy(char *, const char *, size_t);
 size_t strlcat(char *, const char *, size_t);
 #endif
 
+#ifndef HAVE_STRNLEN
+extern size_t strnlen(const char *s, size_t maxlen);
+#endif
+
 #endif

+ 1 - 0
lib/zebra.h

@@ -228,6 +228,7 @@ typedef int socklen_t;
 #endif  /* !__GNUC__ || VTYSH_EXTRACT_PL */
 
 #include "zassert.h"
+#include "str.h"
 
 
 #ifdef HAVE_BROKEN_CMSG_FIRSTHDR