From: Simon Josefsson Date: Thu, 11 Aug 2005 09:56:12 +0000 (+0000) Subject: 2005-08-10 Simon Josefsson X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a31fee0519738513fdc037c8022384db8c1239d;p=pspp 2005-08-10 Simon Josefsson * strndup.c: Use strnlen.h. * strnlen.h: New file. 2005-08-11 Simon Josefsson * modules/strnlen (Files): Add strnlen.h. 2005-08-10 Simon Josefsson * strnlen.m4: New file. * strndup.m4: Don't check for strnlen declaration, done in strnlen.m4. --- diff --git a/ChangeLog b/ChangeLog index 46b96b15cd..3434d652f1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2005-08-11 Simon Josefsson + + * modules/strnlen (Files): Add strnlen.h. + 2005-08-10 Simon Josefsson * tests/test-iconvme.c: New file. diff --git a/lib/ChangeLog b/lib/ChangeLog index a44fa6f6fc..7d9d4c6439 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,9 @@ +2005-08-10 Simon Josefsson + + * strndup.c: Use strnlen.h. + + * strnlen.h: New file. + 2005-08-02 Simon Josefsson * getline.h, getline.c: Rewrite. diff --git a/lib/strndup.c b/lib/strndup.c index 366a4eb570..b2d7c0e0bb 100644 --- a/lib/strndup.c +++ b/lib/strndup.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 2000, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 2000, 2003, 2005 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. @@ -24,12 +24,8 @@ #include #include -#ifndef HAVE_DECL_STRNLEN -"this configure-time declaration test was not run" -#endif -#if !HAVE_DECL_STRNLEN -size_t strnlen (); -#endif +/* Get strnlen. */ +#include "strnlen.h" #undef __strndup #undef strndup diff --git a/lib/strnlen.h b/lib/strnlen.h new file mode 100644 index 0000000000..f1ca757f41 --- /dev/null +++ b/lib/strnlen.h @@ -0,0 +1,32 @@ +/* Find the length of STRING, but scan at most MAXLEN characters. + Copyright (C) 2005 Free Software Foundation, Inc. + Written by Simon Josefsson. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef STRNLEN_H +#define STRNLEN_H + +/* Get strnlen declaration, if available. */ +#include + +#if defined HAVE_DECL_STRNLEN && !HAVE_DECL_STRNLEN +/* Find the length (number of bytes) of STRING, but scan at most + MAXLEN bytes. If no '\0' terminator is found in that many bytes, + return MAXLEN. */ +extern size_t strnlen(const char *s, size_t maxlen); +#endif + +#endif /* STRNLEN_H */ diff --git a/m4/ChangeLog b/m4/ChangeLog index 8180ab2579..57994d8b89 100644 --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,10 @@ +2005-08-10 Simon Josefsson + + * strnlen.m4: New file. + + * strndup.m4: Don't check for strnlen declaration, done in + strnlen.m4. + 2005-08-10 Stepan Kasal * onceonly_2_57.m4: Really require Autoconf 2.57. diff --git a/m4/strndup.m4 b/m4/strndup.m4 index 5794504568..66cedb4334 100644 --- a/m4/strndup.m4 +++ b/m4/strndup.m4 @@ -1,4 +1,4 @@ -# strndup.m4 serial 4 +# strndup.m4 serial 5 dnl Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -18,6 +18,4 @@ AC_DEFUN([gl_FUNC_STRNDUP], ]) # Prerequisites of lib/strndup.c. -AC_DEFUN([gl_PREREQ_STRNDUP], [ - AC_CHECK_DECLS(strnlen) -]) +AC_DEFUN([gl_PREREQ_STRNDUP], [:]) diff --git a/m4/strnlen.m4 b/m4/strnlen.m4 index e6af315cb6..67964c8d7d 100644 --- a/m4/strnlen.m4 +++ b/m4/strnlen.m4 @@ -1,11 +1,13 @@ -# strnlen.m4 serial 4 -dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. +# strnlen.m4 serial 5 +dnl Copyright (C) 2002-2003, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRNLEN], [ + AC_LIBSOURCES([strnlen.c, strnlen.h]) + dnl Persuade glibc to declare strnlen(). AC_REQUIRE([AC_GNU_SOURCE]) @@ -22,4 +24,6 @@ AC_DEFUN([gl_FUNC_STRNLEN], ]) # Prerequisites of lib/strnlen.c. -AC_DEFUN([gl_PREREQ_STRNLEN], [:]) +AC_DEFUN([gl_PREREQ_STRNLEN], [ + AC_CHECK_DECLS_ONCE(strnlen) +]) diff --git a/modules/strnlen b/modules/strnlen index 4f52435a84..26ae3f3db5 100644 --- a/modules/strnlen +++ b/modules/strnlen @@ -2,6 +2,7 @@ Description: strnlen() function: determine the length of a size-bounded string. Files: +lib/strnlen.h lib/strnlen.c m4/strnlen.m4