bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

proposed 'string' module for gnulib


From: Paul Eggert
Subject: proposed 'string' module for gnulib
Date: Fri, 26 Jan 2007 00:03:30 -0800
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)

I'd like to add a 'string' module to gnulib, which does for <string.h>
what the sys_time module does for <sys/time.h>, namely, sets up a
substitute string.h that has needed GNU declarations.  That way,
we don't need to worry about the little include files like "strstr.h"
which make the rest of the code harder to read and maintain.

Here's a patch to do this, tested with coreutils.

Bruno, this patch would affect strcase, pathname, fchdir, javacomp,
striconv, execute, pipe.

Sergey, this patch would affect argp.

Simon, this patch would affect mempcpy, getaddrinfo, iconvme,
mempcpy, xstrndup.

Yoann, this would affect strsep.

This may be a bit ambitious, but I'd like to check in this patch all
at once, since if I check in only the stuff that Jim and I maintain
it'll break the other modules (due to little files like "strstr.h"
that go away).

2007-01-26  Paul Eggert  <address@hidden>

        * doc/gnulib-tool.texi (Initial import): Update to match current
        behavior with strdup module.
        * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
        * lib/memmem.h: Remove; all uses removed.  This is now done
        by <string.h>.
        * lib/mempcpy.h: Likewise.
        * lib/memrchr.h: Likewise.
        * lib/stpcpy.h: Likewise.
        * lib/stpncpy.h: Likewise.
        * lib/strcase.h: Likewise.
        * lib/strchrnul.h: Likewise.
        * lib/strdup.h: Likewise.
        * lib/string_.h: New file.
        * lib/argp-namefrob.h: Don't include no-longer-existent include files.
        Rely on <string.h> instead.
        * lib/canon-host.c: Likewise.
        * lib/chdir-long.c: Likewise.
        * lib/concatpath.c: Likewise.
        * lib/exclude.c: Likewise.
        * lib/fchdir.c: Likewise.
        * lib/getaddrinfo.c: Likewise.
        * lib/getcwd.c: Likewise.
        * lib/getsubopt.c: Likewise.
        * lib/glob.c: Likewise.
        * lib/hard-locale.c: Likewise.
        * lib/iconvme.c: Likewise.
        * lib/javacomp.c: Likewise.
        * lib/mempcpy.c: Likewise.
        * lib/memrchr.c: Likewise.
        * lib/regex_internal.h: Likewise.
        * lib/stpncpy.c: Likewise.
        * lib/strcasecmp.c: Likewise.
        * lib/strchrnul.c: Likewise.
        * lib/strdup.c: Likewise.
        * lib/striconv.c: Likewise.
        * lib/striconveh.c: Likewise.
        * lib/striconveha.c: Likewise.
        * lib/strncasecmp.c: Likewise.
        * lib/strndup.c: Likewise.
        * lib/strnlen.c: Likewise.
        * lib/strsep.c: Likewise.
        * lib/strstr.c: Likewise.
        * lib/strtok_r.c: Likewise.
        * lib/userspec.c: Likewise.
        * lib/w32spawn.h: Likewise.
        * lib/xstrndup.c: Likewise.
        * lib/mountlist.c (strstr): Remove decl.
        * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
        * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
        * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
        * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
        * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
        * m4/strcase.m4 (gl_FUNC_STRCASECMP):
        Set REPLACE_STRCASECMP if necessary.
        (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
        * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
        * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
        * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
        HAVE_DECL_STRDUP if necessary.
        (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
        since gl_FUNC_STRNDUP does that now.
        * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
        Check for decl here...
        (gl_PREREQ_STRNLEN): ... not here.
        * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
        * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
        * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
        * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
        necessary.
        * modules/memmem (Files): Remove special-purpose include file.
        (Depends-on): Add string.
        (Include): Include <string.h>, not the removed file.
        * modules/mempcpy: Likewise.
        * modules/memrchr: Likewise.
        * modules/stpcpy: Likewise.
        * modules/stpncpy: Likewise.
        * modules/strcase: Likewise.
        * modules/strchrnul: Likewise.
        * modules/strdup: Likewise.
        * modules/strndup: Likewise.
        * modules/strnlen: Likewise.
        * modules/strpbrk: Likewise.
        * modules/strsep: Likewise.
        * modules/strstr: Likewise.
        * modules/strtok_r: Likewise.
        * tests/test-dirname.c: Don't include "stdup.h", since
        <string.h> now suffices.
        * tests/test-memmem.c: Don't include "memmem.h", since
        <string.h> now suffices.

Index: doc/gnulib-tool.texi
===================================================================
RCS file: /cvsroot/gnulib/gnulib/doc/gnulib-tool.texi,v
retrieving revision 1.7
diff -u -p -r1.7 gnulib-tool.texi
--- doc/gnulib-tool.texi        9 Oct 2006 12:26:13 -0000       1.7
+++ doc/gnulib-tool.texi        26 Jan 2007 07:40:05 -0000
@@ -1,7 +1,7 @@
 @node Invoking gnulib-tool
 @chapter Invoking gnulib-tool

address@hidden Copyright (C) 2005, 2006 Free Software Foundation, Inc.
address@hidden Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.

 @c Permission is granted to copy, distribute and/or modify this document
 @c under the terms of the GNU Free Documentation License, Version 1.2 or
@@ -48,29 +48,42 @@ Gnulib is used.

 Our example will be a library that uses Autoconf, Automake and
 Libtool.  It calls @code{strdup}, and you wish to use gnulib to make
-the package portable to C89 (which doesn't have @code{strdup}).
+the package portable to C89 and C99 (which don't have @code{strdup}).

 @example
 ~/src/libfoo$ gnulib-tool --import strdup
 Module list with included dependencies:
+  absolute-header
+  extensions
   strdup
+  string
 File list:
+  lib/dummy.c
   lib/strdup.c
-  lib/strdup.h
-  m4/onceonly_2_57.m4
+  lib/string_.h
+  m4/absolute-header.m4
+  m4/extensions.m4
+  m4/gnulib-common.m4
   m4/strdup.m4
-Copying file m4/gnulib-tool.m4
-Copying file m4/onceonly_2_57.m4
+  m4/string_h.m4
+Creating directory ./lib
+Creating directory ./m4
+Copying file lib/dummy.c
 Copying file lib/strdup.c
-Copying file lib/strdup.h
+Copying file lib/string_.h
+Copying file m4/absolute-header.m4
+Copying file m4/extensions.m4
+Copying file m4/gnulib-common.m4
+Copying file m4/gnulib-tool.m4
 Copying file m4/strdup.m4
+Copying file m4/string_h.m4
 Creating lib/Makefile.am
 Creating m4/gnulib-cache.m4
 Creating m4/gnulib-comp.m4
 Finished.

 You may need to add #include directives for the following .h files.
-  #include "strdup.h"
+  #include <string.h>

 Don't forget to
   - add "lib/Makefile" to AC_CONFIG_FILES in ./configure.ac,
@@ -212,7 +225,7 @@ LDADD = lib/libgnu.a
 @end example

 Don't forget to @code{#include} the various header files.  In this
-example, you would need to make sure that @samp{#include "strdup.h"}
+example, you would need to make sure that @samp{#include <string.h>}
 is evaluated when compiling all source code files, that want to make
 use of @code{strdup}.

Index: lib/.cppi-disable
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/.cppi-disable,v
retrieving revision 1.25
diff -u -p -r1.25 .cppi-disable
--- lib/.cppi-disable   10 Aug 2006 19:32:38 -0000      1.25
+++ lib/.cppi-disable   26 Jan 2007 07:40:05 -0000
@@ -34,10 +34,6 @@ socket_.h
 stat-time.h
 stdbool_.h
 stdint_.h
-strcase.h
-strdup.h
-strndup.h
-strnlen.h
 strnlen1.h
 strtoul.c
 time_r.h
Index: lib/memmem.h
===================================================================
RCS file: lib/memmem.h
diff -N lib/memmem.h
--- lib/memmem.h        14 May 2005 06:03:58 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2004 Free Software Foundation
- * 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 MEMMEM_H
-# define MEMMEM_H
-
-/* Get memmem, if available. */
-# include <string.h>
-
-# if defined HAVE_DECL_MEMMEM && !HAVE_DECL_MEMMEM
-void *
-memmem (const void *haystack, size_t haystack_len,
-       const void *needle, size_t needle_len);
-# endif
-
-#endif /* MEMMEM_H */
Index: lib/mempcpy.h
===================================================================
RCS file: lib/mempcpy.h
diff -N lib/mempcpy.h
--- lib/mempcpy.h       14 May 2005 06:03:58 -0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,36 +0,0 @@
-/* Copy memory area and return pointer after last written byte.
-   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-
-   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 mempcpy
-
-# if HAVE_MEMPCPY
-
-/* Get mempcpy() declaration.  */
-#  include <string.h>
-
-# else
-
-/* Get size_t */
-#  include <stddef.h>
-
-/* Copy N bytes of SRC to DEST, return pointer to bytes after the
-   last written byte.  */
-extern void *mempcpy (void *dest, const void *src, size_t n);
-
-# endif
-
-#endif
Index: lib/memrchr.h
===================================================================
RCS file: lib/memrchr.h
diff -N lib/memrchr.h
--- lib/memrchr.h       14 May 2005 06:03:58 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,27 +0,0 @@
-/* memrchr -- Find the last occurrence of a byte in a memory block.
-
-   Copyright (C) 2005 Free Software Foundation, Inc.
-
-   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.  */
-
-#if HAVE_DECL_MEMRCHR
-# include <string.h>
-#else
-# include <stddef.h>
-
-/* Search backwards through a block for a byte (specified as an int).  */
-void *memrchr (void const *, int, size_t);
-
-#endif
Index: lib/stpcpy.h
===================================================================
RCS file: lib/stpcpy.h
diff -N lib/stpcpy.h
--- lib/stpcpy.h        14 May 2005 06:03:58 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,41 +0,0 @@
-/* String copying.
-   Copyright (C) 1995, 2001, 2003 Free Software Foundation, Inc.
-
-   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 _STPCPY_H
-#define _STPCPY_H
-
-#if HAVE_STPCPY
-
-/* Get stpcpy() declaration.  */
-#include <string.h>
-
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Copy SRC to DST, returning the address of the terminating '\0' in DST.  */
-extern char *stpcpy (char *dst, const char *src);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-#endif /* _STPCPY_H */
Index: lib/stpncpy.h
===================================================================
RCS file: lib/stpncpy.h
diff -N lib/stpncpy.h
--- lib/stpncpy.h       14 May 2005 06:03:58 -0000      1.5
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,47 +0,0 @@
-/* String copying.
-   Copyright (C) 1995, 2001-2005 Free Software Foundation, Inc.
-
-   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 _STPNCPY_H
-#define _STPNCPY_H
-
-#include <string.h>
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#if !HAVE_STPNCPY
-
-/* When not using the GNU libc we use the stpncpy implementation we
-   provide here.  */
-#define stpncpy gnu_stpncpy
-
-/* Copy no more than N bytes of SRC to DST, returning a pointer past the
-   last non-NUL byte written into DST.  */
-extern char *stpncpy (char *dst, const char *src, size_t n);
-
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _STPNCPY_H */
Index: lib/strcase.h
===================================================================
RCS file: lib/strcase.h
diff -N lib/strcase.h
--- lib/strcase.h       1 Nov 2006 20:48:47 -0000       1.7
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,56 +0,0 @@
-/* Case-insensitive string comparison functions.
-   Copyright (C) 1995-1996, 2001, 2003, 2005-2006 Free Software Foundation, 
Inc.
-
-   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 _STRCASE_H
-#define _STRCASE_H
-
-#include <stddef.h>
-/* Include header files with a possibly conflicting declarations of strcasecmp
-   before we define it as a macro, so that they will be no-ops if included
-   after strcasecmp is defined as a macro.  */
-#include <string.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* No known system has a strcasecmp() function that works correctly in
-   multibyte locales.  Therefore we use our version always.  */
-#define strcasecmp rpl_strcasecmp
-/* Compare strings S1 and S2, ignoring case, returning less than, equal to or
-   greater than zero if S1 is lexicographically less than, equal to or greater
-   than S2.
-   Note: This function may, in multibyte locales, return 0 for strings of
-   different lengths!  */
-extern int strcasecmp (const char *s1, const char *s2);
-
-/* Compare no more than N characters of strings S1 and S2, ignoring case,
-   returning less than, equal to or greater than zero if S1 is
-   lexicographically less than, equal to or greater than S2.
-   Note: This function can not work correctly in multibyte locales.  */
-#if ! HAVE_DECL_STRNCASECMP
-extern int strncasecmp (const char *s1, const char *s2, size_t n);
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _STRCASE_H */
Index: lib/strchrnul.h
===================================================================
RCS file: lib/strchrnul.h
diff -N lib/strchrnul.h
--- lib/strchrnul.h     14 May 2005 06:03:58 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-/* Searching in a string.
-   Copyright (C) 2003 Free Software Foundation, Inc.
-
-   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.  */
-
-#if HAVE_STRCHRNUL
-
-/* Get strchrnul() declaration.  */
-#include <string.h>
-
-#else
-
-/* Find the first occurrence of C in S or the final NUL byte.  */
-extern char *strchrnul (const char *s, int c_in);
-
-#endif
Index: lib/strdup.h
===================================================================
RCS file: lib/strdup.h
diff -N lib/strdup.h
--- lib/strdup.h        19 Dec 2006 17:17:04 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,39 +0,0 @@
-/* strdup.h -- duplicate a string
-   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
-
-   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 STRDUP_H_
-#define STRDUP_H_
-
-/* Get strdup declaration, if available.  */
-#include <string.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#if defined HAVE_DECL_STRDUP && !HAVE_DECL_STRDUP && !defined strdup
-/* Duplicate S, returning an identical malloc'd string.  */
-extern char *strdup (const char *s);
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* STRDUP_H_ */
Index: lib/string_.h
===================================================================
RCS file: lib/string_.h
diff -N lib/string_.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ lib/string_.h       26 Jan 2007 07:40:05 -0000
@@ -0,0 +1,171 @@
+/* A GNU-like <string.h>.
+
+   Copyright (C) 2007 Free Software Foundation, Inc.
+
+   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 _GL_STRING_H
+#define _GL_STRING_H
+
+#include @ABSOLUTE_STRING_H@
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Return the first occurrence of NEEDLE in HAYSTACK.  */
+#if ! @HAVE_DECL_MEMMEM@
+void *
+memmem (void const *__haystack, size_t __haystack_len,
+       void const *__needle, size_t __needle_len);
+#endif
+
+/* Copy N bytes of SRC to DEST, return pointer to bytes after the
+   last written byte.  */
+#if ! @HAVE_MEMPCPY@
+void *mempcpy (void *restrict __dest, void const *restrict __src, size_t __n);
+#endif
+
+/* Search backwards through a block for a byte (specified as an int).  */
+#if ! @HAVE_DECL_MEMRCHR@
+void *memrchr (void const *, int, size_t);
+#endif
+
+/* Copy SRC to DST, returning the address of the terminating '\0' in DST.  */
+#if ! @HAVE_STPCPY@
+char *stpcpy (char *restrict __dst, char const *restrict __src);
+#endif
+
+/* Copy no more than N bytes of SRC to DST, returning a pointer past the
+   last non-NUL byte written into DST.  */
+#if ! @HAVE_STPNCPY@
+#define stpncpy gnu_stpncpy
+char *stpncpy (char *restrict __dst, char const *restrict __src, size_t __n);
+#endif
+
+/* Compare strings S1 and S2, ignoring case, returning less than, equal to or
+   greater than zero if S1 is lexicographically less than, equal to or greater
+   than S2.
+   Note: This function may, in multibyte locales, return 0 for strings of
+   different lengths!
+   No known system has a strcasecmp() function that works correctly in
+   multibyte locales.  Therefore use our version always, if the
+   strcase module is available.  */
+#if @REPLACE_STRCASECMP@
+# define strcasecmp rpl_strcasecmp
+int strcasecmp (char const *__s1, char const *__s2);
+#endif
+
+/* Compare no more than N bytes of strings S1 and S2, ignoring case,
+   returning less than, equal to or greater than zero if S1 is
+   lexicographically less than, equal to or greater than S2.
+   Note: This function cannot work correctly in multibyte locales.  */
+#if ! @HAVE_DECL_STRNCASECMP@
+int strncasecmp (char const *__s1, char const *__s2, size_t __n);
+#endif
+
+/* Find the first occurrence of C in S or the final NUL byte.  */
+#if ! @HAVE_STRCHRNUL@
+char *strchrnul (char const *__s, int __c_in);
+#endif
+
+/* Duplicate S, returning an identical malloc'd string.  */
+#if ! @HAVE_DECL_STRDUP@ && ! defined strdup
+char *strdup (char const *__s);
+#endif
+
+/* Return a newly allocated copy of at most N bytes of STRING.  */
+#if ! @HAVE_STRNDUP@
+# undef strndup
+# define strndup rpl_strndup
+# if ! @HAVE_DECL_STRNDUP@
+char *strndup (char const *__string, size_t __n);
+# endif
+#endif
+
+/* 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.  */
+#if ! @HAVE_DECL_STRNLEN@
+size_t strnlen (char const *__string, size_t __maxlen);
+#endif
+
+/* Find the first occurrence in S of any character in ACCEPT.  */
+#if ! @HAVE_STRPBRK@
+char *strpbrk (char const *__s, char const *__accept);
+#endif
+
+/* Search the next delimiter (char listed in DELIM) starting at *STRINGP.
+   If one is found, overwrite it with a NUL, and advance *STRINGP
+   to point to the next char after it.  Otherwise, set *STRINGP to NULL.
+   If *STRINGP was already NULL, nothing happens.
+   Return the old value of *STRINGP.
+
+   This is a variant of strtok() that is multithread-safe and supports
+   empty fields.
+
+   Caveat: It modifies the original string.
+   Caveat: These functions cannot be used on constant strings.
+   Caveat: The identity of the delimiting character is lost.
+   Caveat: It doesn't work with multibyte strings unless all of the delimiter
+           characters are ASCII characters < 0x30.
+
+   See also strtok_r().  */
+#if ! @HAVE_STRSEP@
+char *strsep (char **restrict __stringp, char const *restrict __delim);
+#endif
+
+/* Find the first occurrence of NEEDLE in HAYSTACK.
+   No known system has a strstr() function that works correctly in
+   multibyte locales.  Therefore use our version always, if the strstr
+   module is available.  */
+#if @REPLACE_STRSTR@
+#undef strstr
+#define strstr rpl_strstr
+char *strstr (char const *__haystack, char const *__needle);
+#endif
+
+/* Parse S into tokens separated by characters in DELIM.
+   If S is NULL, the saved pointer in SAVE_PTR is used as
+   the next starting point.  For example:
+       char s[] = "-abc-=-def";
+       char *sp;
+       x = strtok_r(s, "-", &sp);      // x = "abc", sp = "=-def"
+       x = strtok_r(NULL, "-=", &sp);  // x = "def", sp = NULL
+       x = strtok_r(NULL, "=", &sp);   // x = NULL
+               // s = "abc\0-def\0"
+
+   This is a variant of strtok() that is multithread-safe.
+
+   For the POSIX documentation for this function, see:
+   http://www.opengroup.org/susv3xsh/strtok.html
+
+   Caveat: It modifies the original string.
+   Caveat: These functions cannot be used on constant strings.
+   Caveat: The identity of the delimiting character is lost.
+   Caveat: It doesn't work with multibyte strings unless all of the delimiter
+           characters are ASCII characters < 0x30.
+
+   See also strsep().  */
+#if ! @HAVE_DECL_STRTOK_R@
+char *strtok_r (char *restrict __s, char const *restrict __sep,
+               char **restrict __lasts);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
Index: lib/argp-namefrob.h
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/argp-namefrob.h,v
retrieving revision 1.13
diff -u -p -r1.13 argp-namefrob.h
--- lib/argp-namefrob.h 10 Sep 2006 11:51:42 -0000      1.13
+++ lib/argp-namefrob.h 26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Name frobnication for compiling argp outside of glibc
-   Copyright (C) 1997, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2003, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <address@hidden>.

@@ -76,11 +76,6 @@
 #undef __argp_fmtstream_wmargin
 #define __argp_fmtstream_wmargin argp_fmtstream_wmargin

-#include "mempcpy.h"
-#include "strcase.h"
-#include "strchrnul.h"
-#include "strndup.h"
-
 /* normal libc functions we call */
 #undef __flockfile
 #define __flockfile flockfile
Index: lib/canon-host.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/canon-host.c,v
retrieving revision 1.23
diff -u -p -r1.23 canon-host.c
--- lib/canon-host.c    27 Sep 2006 18:25:48 -0000      1.23
+++ lib/canon-host.c    26 Jan 2007 07:40:05 -0000
@@ -1,6 +1,6 @@
 /* Host name canonicalization

-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.

    Written by Derek Price <address@hidden>.

@@ -23,7 +23,7 @@
 #include "canon-host.h"

 #include "getaddrinfo.h"
-#include "strdup.h"
+#include <string.h>

 /* Store the last error for the single-threaded version of this function.  */
 static int last_cherror;
Index: lib/chdir-long.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/chdir-long.c,v
retrieving revision 1.9
diff -u -p -r1.9 chdir-long.c
--- lib/chdir-long.c    13 Sep 2006 22:38:14 -0000      1.9
+++ lib/chdir-long.c    26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* provide a chdir function that tries not to fail due to ENAMETOOLONG
-   Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.

    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
@@ -29,7 +29,6 @@
 #include <stdio.h>
 #include <assert.h>

-#include "memrchr.h"
 #include "openat.h"

 #ifndef PATH_MAX
Index: lib/concatpath.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/concatpath.c,v
retrieving revision 1.5
diff -u -p -r1.5 concatpath.c
--- lib/concatpath.c    6 Nov 2006 13:03:10 -0000       1.5
+++ lib/concatpath.c    26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Construct a full pathname from a directory and a filename.
-   Copyright (C) 2001-2004, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006, 2007 Free Software Foundation, Inc.

    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
@@ -26,7 +26,6 @@
 #include <string.h>

 #include "xalloc.h"
-#include "stpcpy.h"

 /* Concatenate a directory pathname, a relative pathname and an optional
    suffix.  The directory may end with the directory separator.  The second
Index: lib/exclude.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/exclude.c,v
retrieving revision 1.30
diff -u -p -r1.30 exclude.c
--- lib/exclude.c       13 Sep 2006 22:38:14 -0000      1.30
+++ lib/exclude.c       26 Jan 2007 07:40:05 -0000
@@ -1,7 +1,7 @@
 /* exclude.c -- exclude file names

    Copyright (C) 1992, 1993, 1994, 1997, 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2006 Free Software Foundation, Inc.
+   2004, 2005, 2006, 2007 Free Software Foundation, Inc.

    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
@@ -33,7 +33,6 @@

 #include "exclude.h"
 #include "fnmatch.h"
-#include "strcase.h"
 #include "xalloc.h"
 #include "verify.h"

Index: lib/fchdir.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/fchdir.c,v
retrieving revision 1.1
diff -u -p -r1.1 fchdir.c
--- lib/fchdir.c        14 Jan 2007 11:32:10 -0000      1.1
+++ lib/fchdir.c        26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* fchdir replacement.
-   Copyright (C) 2006 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2007 Free Software Foundation, Inc.

    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
@@ -21,6 +21,7 @@
 #include <fcntl.h>
 #include <stdarg.h>
 #include <stdlib.h>
+#include <string.h>
 #include <unistd.h>
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -28,7 +29,6 @@

 #include "canonicalize.h"
 #include "dirfd.h"
-#include "strdup.h"

 /* This replacement assumes that a directory is not renamed while opened
    through a file descriptor.  */
Index: lib/getaddrinfo.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/getaddrinfo.c,v
retrieving revision 1.20
diff -u -p -r1.20 getaddrinfo.c
--- lib/getaddrinfo.c   17 Nov 2006 13:47:43 -0000      1.20
+++ lib/getaddrinfo.c   26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Get address information (partial implementation).
-   Copyright (C) 1997, 2001, 2002, 2004, 2005, 2006 Free Software
+   Copyright (C) 1997, 2001, 2002, 2004, 2005, 2006, 2007 Free Software
    Foundation, Inc.
    Contributed by Simon Josefsson <address@hidden>.

@@ -28,7 +28,7 @@
 /* Get calloc. */
 #include <stdlib.h>

-/* Get memcpy. */
+/* Get memcpy, strdup. */
 #include <string.h>

 #include <stdbool.h>
@@ -39,7 +39,6 @@

 #include "inet_ntop.h"
 #include "snprintf.h"
-#include "strdup.h"

 /* BeOS has AF_INET, but not PF_INET.  */
 #ifndef PF_INET
Index: lib/getcwd.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/getcwd.c,v
retrieving revision 1.16
diff -u -p -r1.16 getcwd.c
--- lib/getcwd.c        14 Jan 2007 11:32:10 -0000      1.16
+++ lib/getcwd.c        26 Jan 2007 07:40:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,93,94,95,96,97,98,99,2004,2005,2006 Free Software
+/* Copyright (C) 1991,92,93,94,95,96,97,98,99,2004,2005,2006,2007 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.

@@ -49,8 +49,6 @@
 # ifndef mempcpy
 #  define mempcpy __mempcpy
 # endif
-#else
-# include "mempcpy.h"
 #endif

 #include <limits.h>
Index: lib/getsubopt.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/getsubopt.c,v
retrieving revision 1.3
diff -u -p -r1.3 getsubopt.c
--- lib/getsubopt.c     14 May 2005 06:03:58 -0000      1.3
+++ lib/getsubopt.c     26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Parse comma separate list into words.
-   Copyright (C) 1996, 1997, 1999, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1999, 2004, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <address@hidden>, 1996.

@@ -24,7 +24,6 @@
 /* This code is written for inclusion in gnu-libc, and uses names in
    the namespace reserved for libc.  If we're compiling in gnulib,
    define those names to be the normal ones instead.  */
-# include "strchrnul.h"
 # undef __strchrnul
 # define __strchrnul strchrnul
 #endif
Index: lib/glob.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/glob.c,v
retrieving revision 1.12
diff -u -p -r1.12 glob.c
--- lib/glob.c  14 Jan 2007 11:32:10 -0000      1.12
+++ lib/glob.c  26 Jan 2007 07:40:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2002,2003,2004,2005,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2002,2003,2004,2005,2006,2007 Free Software Foundation, 
Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
@@ -133,8 +133,6 @@
 # define struct_stat64         struct stat64
 #else /* !_LIBC */
 # include "getlogin_r.h"
-# include "mempcpy.h"
-# include "strdup.h"
 # define __stat64(fname, buf)  stat (fname, buf)
 # define struct_stat64         struct stat
 # define __stat(fname, buf)    stat (fname, buf)
Index: lib/hard-locale.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/hard-locale.c,v
retrieving revision 1.13
diff -u -p -r1.13 hard-locale.c
--- lib/hard-locale.c   13 Sep 2006 22:38:14 -0000      1.13
+++ lib/hard-locale.c   26 Jan 2007 07:40:05 -0000
@@ -1,6 +1,6 @@
 /* hard-locale.c -- Determine whether a locale is hard.

-   Copyright (C) 1997, 1998, 1999, 2002, 2003, 2004, 2006 Free
+   Copyright (C) 1997, 1998, 1999, 2002, 2003, 2004, 2006, 2007 Free
    Software Foundation, Inc.

    This program is free software; you can redistribute it and/or modify
@@ -25,8 +25,6 @@
 #include <stdlib.h>
 #include <string.h>

-#include "strdup.h"
-
 #ifdef __GLIBC__
 # define GLIBC_VERSION __GLIBC__
 #else
Index: lib/iconvme.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/iconvme.c,v
retrieving revision 1.8
diff -u -p -r1.8 iconvme.c
--- lib/iconvme.c       12 Dec 2006 12:50:14 -0000      1.8
+++ lib/iconvme.c       26 Jan 2007 07:40:05 -0000
@@ -23,7 +23,7 @@
 /* Get malloc. */
 #include <stdlib.h>

-/* Get strcmp. */
+/* Get strcmp, strdup. */
 #include <string.h>

 /* Get errno. */
@@ -31,9 +31,6 @@

 #ifdef _LIBC
 # define HAVE_ICONV 1
-#else
-/* Get strdup. */
-# include "strdup.h"
 #endif

 #if HAVE_ICONV
Index: lib/javacomp.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/javacomp.c,v
retrieving revision 1.9
diff -u -p -r1.9 javacomp.c
--- lib/javacomp.c      14 Jan 2007 11:32:10 -0000      1.9
+++ lib/javacomp.c      26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Compile a Java program.
-   Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2006, 2007 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.

    This program is free software; you can redistribute it and/or modify
@@ -48,7 +48,6 @@
 #include "clean-temp.h"
 #include "error.h"
 #include "xvasprintf.h"
-#include "strstr.h"
 #include "gettext.h"

 #define _(str) gettext (str)
Index: lib/mempcpy.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/mempcpy.c,v
retrieving revision 1.2
diff -u -p -r1.2 mempcpy.c
--- lib/mempcpy.c       14 May 2005 06:03:58 -0000      1.2
+++ lib/mempcpy.c       26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Copy memory area and return pointer after last written byte.
-   Copyright (C) 2003 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007 Free Software Foundation, Inc.

    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
@@ -16,8 +16,6 @@
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */

 /* Specification.  */
-#include "mempcpy.h"
-
 #include <string.h>

 /* Copy N bytes of SRC to DEST, return pointer to bytes after the
Index: lib/memrchr.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/memrchr.c,v
retrieving revision 1.8
diff -u -p -r1.8 memrchr.c
--- lib/memrchr.c       13 Sep 2006 22:38:14 -0000      1.8
+++ lib/memrchr.c       26 Jan 2007 07:40:05 -0000
@@ -1,7 +1,7 @@
 /* memrchr -- find the last occurrence of a byte in a memory block

    Copyright (C) 1991, 1993, 1996, 1997, 1999, 2000, 2003, 2004, 2005,
-   2006 Free Software Foundation, Inc.
+   2006, 2007 Free Software Foundation, Inc.

    Based on strlen implementation by Torbjorn Granlund (address@hidden),
    with help from Dan Sahlin (address@hidden) and
@@ -28,7 +28,6 @@
 # include <memcopy.h>
 #else
 # include <config.h>
-# include "memrchr.h"
 # define reg_char char
 #endif

Index: lib/regex_internal.h
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/regex_internal.h,v
retrieving revision 1.28
diff -u -p -r1.28 regex_internal.h
--- lib/regex_internal.h        16 Jan 2007 16:31:23 -0000      1.28
+++ lib/regex_internal.h        26 Jan 2007 07:40:05 -0000
@@ -27,10 +27,6 @@
 #include <stdlib.h>
 #include <string.h>

-#ifndef _LIBC
-# include "strcase.h"
-#endif
-
 #if defined HAVE_LANGINFO_H || defined HAVE_LANGINFO_CODESET || defined _LIBC
 # include <langinfo.h>
 #endif
Index: lib/stpncpy.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/stpncpy.c,v
retrieving revision 1.7
diff -u -p -r1.7 stpncpy.c
--- lib/stpncpy.c       14 Sep 2006 14:18:36 -0000      1.7
+++ lib/stpncpy.c       26 Jan 2007 07:40:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995-1997, 2002-2003, 2005-2006 Free Software 
Foundation, Inc.
+/* Copyright (C) 1993, 1995-1997, 2002-2003, 2005-2007 Free Software 
Foundation, Inc.

    NOTE: The canonical source of this file is maintained with the GNU C 
Library.
    Bugs can be reported to address@hidden
@@ -22,7 +22,7 @@
 #include <config.h>

 /* Specification.  */
-#include "stpncpy.h"
+#include <string.h>

 #ifndef weak_alias
 # define __stpncpy stpncpy
Index: lib/strcasecmp.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/strcasecmp.c,v
retrieving revision 1.12
diff -u -p -r1.12 strcasecmp.c
--- lib/strcasecmp.c    14 Sep 2006 14:18:36 -0000      1.12
+++ lib/strcasecmp.c    26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Case-insensitive string comparison function.
-   Copyright (C) 1998-1999, 2005-2006 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2007 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2005,
    based on earlier glibc code.

@@ -20,7 +20,7 @@
 #include <config.h>

 /* Specification.  */
-#include "strcase.h"
+#include <string.h>

 #include <ctype.h>
 #include <limits.h>
Index: lib/strchrnul.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/strchrnul.c,v
retrieving revision 1.4
diff -u -p -r1.4 strchrnul.c
--- lib/strchrnul.c     14 May 2005 06:03:58 -0000      1.4
+++ lib/strchrnul.c     26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Searching in a string.
-   Copyright (C) 2003 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007 Free Software Foundation, Inc.

    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
@@ -16,7 +16,7 @@
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */

 /* Specification.  */
-#include "strchrnul.h"
+#include <string.h>

 /* Find the first occurrence of C in S or the final NUL byte.  */
 char *
Index: lib/strdup.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/strdup.c,v
retrieving revision 1.19
diff -u -p -r1.19 strdup.c
--- lib/strdup.c        11 Oct 2006 12:48:10 -0000      1.19
+++ lib/strdup.c        26 Jan 2007 07:40:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996, 1997, 1998, 2002, 2003, 2004, 2006 Free
+/* Copyright (C) 1991, 1996, 1997, 1998, 2002, 2003, 2004, 2006, 2007 Free
    Software Foundation, Inc.

    This file is part of the GNU C Library.
@@ -19,13 +19,13 @@

 #ifndef _LIBC
 # include <config.h>
-/* Get specification.  */
-# include "strdup.h"
 #endif

-#include <stdlib.h>
+/* Get specification.  */
 #include <string.h>

+#include <stdlib.h>
+
 #undef __strdup
 #ifdef _LIBC
 # undef strdup
Index: lib/striconv.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/striconv.c,v
retrieving revision 1.10
diff -u -p -r1.10 striconv.c
--- lib/striconv.c      21 Jan 2007 22:59:19 -0000      1.10
+++ lib/striconv.c      26 Jan 2007 07:40:05 -0000
@@ -31,7 +31,6 @@
 # include <limits.h>
 #endif

-#include "strdup.h"
 #include "c-strcase.h"

 #ifndef SIZE_MAX
Index: lib/striconveh.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/striconveh.c,v
retrieving revision 1.8
diff -u -p -r1.8 striconveh.c
--- lib/striconveh.c    26 Jan 2007 02:59:46 -0000      1.8
+++ lib/striconveh.c    26 Jan 2007 07:40:05 -0000
@@ -33,7 +33,6 @@
 # include "unistr.h"
 #endif

-#include "strdup.h"
 #include "c-strcase.h"
 #include "c-strcaseeq.h"

Index: lib/striconveha.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/striconveha.c,v
retrieving revision 1.4
diff -u -p -r1.4 striconveha.c
--- lib/striconveha.c   24 Jan 2007 00:56:40 -0000      1.4
+++ lib/striconveha.c   26 Jan 2007 07:40:05 -0000
@@ -26,7 +26,6 @@
 #include <string.h>

 #include "allocsa.h"
-#include "strdup.h"
 #include "c-strcase.h"

 #define SIZEOF(a) (sizeof(a)/sizeof(a[0]))
Index: lib/strncasecmp.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/strncasecmp.c,v
retrieving revision 1.8
diff -u -p -r1.8 strncasecmp.c
--- lib/strncasecmp.c   14 Sep 2006 14:18:36 -0000      1.8
+++ lib/strncasecmp.c   26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* strncasecmp.c -- case insensitive string comparator
-   Copyright (C) 1998-1999, 2005-2006 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2007 Free Software Foundation, Inc.

    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
@@ -18,7 +18,7 @@
 #include <config.h>

 /* Specification.  */
-#include "strcase.h"
+#include <string.h>

 #include <ctype.h>
 #include <limits.h>
Index: lib/strndup.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/strndup.c,v
retrieving revision 1.17
diff -u -p -r1.17 strndup.c
--- lib/strndup.c       28 Sep 2006 11:16:05 -0000      1.17
+++ lib/strndup.c       26 Jan 2007 07:40:05 -0000
@@ -1,7 +1,7 @@
 /* A replacement function, for systems that lack strndup.

-   Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2005, 2006 Free
-   Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2005, 2006, 2007
+   Free Software Foundation, Inc.

    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
@@ -18,12 +18,10 @@
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */

 #include <config.h>
-#include "strndup.h"

-#include <stdlib.h>
 #include <string.h>

-#include "strnlen.h"
+#include <stdlib.h>

 char *
 strndup (char const *s, size_t n)
Index: lib/strnlen.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/strnlen.c,v
retrieving revision 1.14
diff -u -p -r1.14 strnlen.c
--- lib/strnlen.c       13 Sep 2006 22:38:14 -0000      1.14
+++ lib/strnlen.c       26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Find the length of STRING, but scan at most MAXLEN characters.
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
    Written by Simon Josefsson.

    This program is free software; you can redistribute it and/or modify
@@ -18,7 +18,7 @@

 #include <config.h>

-#include "strnlen.h"
+#include <string.h>

 /* Find the length of STRING, but scan at most MAXLEN characters.
    If no '\0' terminator is found in that many characters, return MAXLEN.  */
Index: lib/strsep.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/strsep.c,v
retrieving revision 1.4
diff -u -p -r1.4 strsep.c
--- lib/strsep.c        19 Sep 2005 17:28:15 -0000      1.4
+++ lib/strsep.c        26 Jan 2007 07:40:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2007 Free Software Foundation, Inc.

    Written by Yoann Vandoorselaere <address@hidden>.

@@ -21,12 +21,8 @@
 #endif

 /* Specification.  */
-#include "strsep.h"
-
 #include <string.h>

-#include "strpbrk.h"
-
 char *
 strsep (char **stringp, const char *delim)
 {
Index: lib/strstr.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/strstr.c,v
retrieving revision 1.16
diff -u -p -r1.16 strstr.c
--- lib/strstr.c        14 Sep 2006 14:18:36 -0000      1.16
+++ lib/strstr.c        26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Searching in a string.
-   Copyright (C) 2005-2006 Free Software Foundation, Inc.
+   Copyright (C) 2005-2007 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2005.

    This program is free software; you can redistribute it and/or modify
@@ -19,9 +19,7 @@
 #include <config.h>

 /* Specification.  */
-#include "strstr.h"
-
-#include <stddef.h>  /* for NULL */
+#include <string.h>

 #if HAVE_MBRTOWC
 # include "mbuiter.h"
Index: lib/strtok_r.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/strtok_r.c,v
retrieving revision 1.7
diff -u -p -r1.7 strtok_r.c
--- lib/strtok_r.c      17 Sep 2006 21:59:27 -0000      1.7
+++ lib/strtok_r.c      26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Reentrant string tokenizer.  Generic version.
-   Copyright (C) 1991,1996-1999,2001,2004 Free Software Foundation, Inc.
+   Copyright (C) 1991,1996-1999,2001,2004,2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    This program is free software; you can redistribute it and/or modify
@@ -26,8 +26,6 @@
 #undef __strtok_r

 #ifndef _LIBC
-/* Get specification.  */
-# include "strtok_r.h"
 # define __strtok_r strtok_r
 # define __rawmemchr strchr
 #endif
Index: lib/userspec.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/userspec.c,v
retrieving revision 1.54
diff -u -p -r1.54 userspec.c
--- lib/userspec.c      20 Jan 2007 08:46:44 -0000      1.54
+++ lib/userspec.c      26 Jan 2007 07:40:05 -0000
@@ -41,7 +41,6 @@

 #include "intprops.h"
 #include "inttostr.h"
-#include "strdup.h"
 #include "xalloc.h"
 #include "xstrtol.h"

Index: lib/w32spawn.h
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/w32spawn.h,v
retrieving revision 1.3
diff -u -p -r1.3 w32spawn.h
--- lib/w32spawn.h      7 Nov 2006 14:24:05 -0000       1.3
+++ lib/w32spawn.h      26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Auxiliary functions for the creation of subprocesses.  Native Woe32 API.
-   Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2003.

    This program is free software; you can redistribute it and/or modify
@@ -24,9 +24,9 @@
 #include <io.h>

 #include <stdbool.h>
+#include <string.h>
 #include <errno.h>

-#include "strpbrk.h"
 #include "xalloc.h"

 /* Duplicates a file handle, making the copy uninheritable.  */
Index: lib/xstrndup.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/xstrndup.c,v
retrieving revision 1.4
diff -u -p -r1.4 xstrndup.c
--- lib/xstrndup.c      28 Oct 2006 18:21:16 -0000      1.4
+++ lib/xstrndup.c      26 Jan 2007 07:40:05 -0000
@@ -1,6 +1,6 @@
 /* Duplicate a bounded initial segment of a string, with out-of-memory
    checking.
-   Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc.

    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
@@ -21,7 +21,7 @@
 /* Specification.  */
 #include "xstrndup.h"

-#include "strndup.h"
+#include <string.h>
 #include "xalloc.h"

 /* Return a newly allocated copy of at most N bytes of STRING.
Index: lib/mountlist.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/mountlist.c,v
retrieving revision 1.59
diff -u -p -r1.59 mountlist.c
--- lib/mountlist.c     14 Jan 2007 11:32:10 -0000      1.59
+++ lib/mountlist.c     26 Jan 2007 07:40:05 -0000
@@ -1,7 +1,7 @@
 /* mountlist.c -- return a list of mounted file systems

    Copyright (C) 1991, 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2006 Free Software Foundation, Inc.
+   2004, 2005, 2006, 2007 Free Software Foundation, Inc.

    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
@@ -28,10 +28,6 @@

 #include "xalloc.h"

-#ifndef strstr
-char *strstr ();
-#endif
-
 #include <errno.h>

 #include <fcntl.h>
Index: m4/memmem.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/memmem.m4,v
retrieving revision 1.2
diff -u -p -r1.2 memmem.m4
--- m4/memmem.m4        23 Jan 2005 08:06:57 -0000      1.2
+++ m4/memmem.m4        26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
-# memmem.m4 serial 2
-dnl Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+# memmem.m4 serial 3
+dnl Copyright (C) 2002, 2003, 2004, 2007 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.
@@ -11,6 +11,9 @@ AC_DEFUN([gl_FUNC_MEMMEM],

   AC_REPLACE_FUNCS(memmem)
   AC_CHECK_DECLS_ONCE(memmem)
+  if test $ac_cv_have_decl_memmem = no; then
+    HAVE_DECL_MEMMEM=0
+  fi
   gl_PREREQ_MEMMEM
 ])

Index: m4/mempcpy.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/mempcpy.m4,v
retrieving revision 1.3
diff -u -p -r1.3 mempcpy.m4
--- m4/mempcpy.m4       21 Aug 2006 21:46:31 -0000      1.3
+++ m4/mempcpy.m4       26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
-# mempcpy.m4 serial 4
-dnl Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
+# mempcpy.m4 serial 5
+dnl Copyright (C) 2003, 2004, 2006, 2007 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.
@@ -12,6 +12,7 @@ AC_DEFUN([gl_FUNC_MEMPCPY],

   AC_REPLACE_FUNCS(mempcpy)
   if test $ac_cv_func_mempcpy = no; then
+    HAVE_MEMPCPY=0
     gl_PREREQ_MEMPCPY
   fi
 ])
Index: m4/memrchr.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/memrchr.m4,v
retrieving revision 1.6
diff -u -p -r1.6 memrchr.m4
--- m4/memrchr.m4       21 Aug 2006 21:46:31 -0000      1.6
+++ m4/memrchr.m4       26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
-# memrchr.m4 serial 5
-dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+# memrchr.m4 serial 6
+dnl Copyright (C) 2002, 2003, 2005, 2006, 2007 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.
@@ -10,6 +10,9 @@ AC_DEFUN([gl_FUNC_MEMRCHR],
   AC_REQUIRE([AC_GNU_SOURCE])

   AC_CHECK_DECLS_ONCE([memrchr])
+  if test $ac_cv_have_decl_memrchr = no; then
+    HAVE_DECL_MEMRCHR=0
+  fi

   AC_REPLACE_FUNCS(memrchr)
   if test $ac_cv_func_memrchr = no; then
Index: m4/stpcpy.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/stpcpy.m4,v
retrieving revision 1.2
diff -u -p -r1.2 stpcpy.m4
--- m4/stpcpy.m4        18 Jan 2005 13:07:56 -0000      1.2
+++ m4/stpcpy.m4        26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
-# stpcpy.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
+# stpcpy.m4 serial 2
+dnl Copyright (C) 2002, 2007 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.
@@ -11,6 +11,7 @@ AC_DEFUN([gl_FUNC_STPCPY],

   AC_REPLACE_FUNCS(stpcpy)
   if test $ac_cv_func_stpcpy = no; then
+    HAVE_STPCPY=0
     gl_PREREQ_STPCPY
   fi
 ])
@@ -19,4 +20,3 @@ AC_DEFUN([gl_FUNC_STPCPY],
 AC_DEFUN([gl_PREREQ_STPCPY], [
   :
 ])
-
Index: m4/stpncpy.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/stpncpy.m4,v
retrieving revision 1.7
diff -u -p -r1.7 stpncpy.m4
--- m4/stpncpy.m4       25 Sep 2006 14:40:44 -0000      1.7
+++ m4/stpncpy.m4       26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
-# stpncpy.m4 serial 4
-dnl Copyright (C) 2002-2003, 2005-2006 Free Software Foundation, Inc.
+# stpncpy.m4 serial 5
+dnl Copyright (C) 2002-2003, 2005-2007 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.
@@ -51,6 +51,7 @@ int main () {
     AC_DEFINE(HAVE_STPNCPY, 1,
       [Define if you have the stpncpy() function and it works.])
   else
+    HAVE_STPNCPY=0
     AC_LIBOBJ([stpncpy])
     gl_PREREQ_STPNCPY
   fi
@@ -60,4 +61,3 @@ int main () {
 AC_DEFUN([gl_PREREQ_STPNCPY], [
   :
 ])
-
Index: m4/strcase.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/strcase.m4,v
retrieving revision 1.6
diff -u -p -r1.6 strcase.m4
--- m4/strcase.m4       1 Nov 2006 20:48:47 -0000       1.6
+++ m4/strcase.m4       26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
-# strcase.m4 serial 4
-dnl Copyright (C) 2002, 2005-2006 Free Software Foundation, Inc.
+# strcase.m4 serial 5
+dnl Copyright (C) 2002, 2005-2007 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.
@@ -16,15 +16,19 @@ AC_DEFUN([gl_FUNC_STRCASECMP],
   dnl multibyte locales. Therefore we use our version always.
   AC_LIBOBJ(strcasecmp)
   gl_PREREQ_STRCASECMP
+  REPLACE_STRCASECMP=1
 ])

 AC_DEFUN([gl_FUNC_STRNCASECMP],
 [
   AC_REPLACE_FUNCS(strncasecmp)
-  AC_CHECK_DECLS(strncasecmp)
   if test $ac_cv_func_strncasecmp = no; then
     gl_PREREQ_STRNCASECMP
   fi
+  AC_CHECK_DECLS(strncasecmp)
+  if test $ac_cv_have_decl_strncasecmp = no; then
+    HAVE_DECL_STRNCASECMP=0
+  fi
 ])

 # Prerequisites of lib/strcasecmp.c.
Index: m4/strchrnul.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/strchrnul.m4,v
retrieving revision 1.3
diff -u -p -r1.3 strchrnul.m4
--- m4/strchrnul.m4     23 Jan 2005 08:06:57 -0000      1.3
+++ m4/strchrnul.m4     26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
-# strchrnul.m4 serial 3
-dnl Copyright (C) 2003 Free Software Foundation, Inc.
+# strchrnul.m4 serial 4
+dnl Copyright (C) 2003, 2007 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.
@@ -11,6 +11,7 @@ AC_DEFUN([gl_FUNC_STRCHRNUL],

   AC_REPLACE_FUNCS(strchrnul)
   if test $ac_cv_func_strchrnul = no; then
+    HAVE_STRCHRNUL=0
     gl_PREREQ_STRCHRNUL
   fi
 ])
Index: m4/strdup.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/strdup.m4,v
retrieving revision 1.7
diff -u -p -r1.7 strdup.m4
--- m4/strdup.m4        21 Aug 2006 21:46:31 -0000      1.7
+++ m4/strdup.m4        26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,8 @@
-# strdup.m4 serial 7
-dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# strdup.m4 serial 8
+
+dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software
+dnl 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.
@@ -8,6 +11,9 @@ AC_DEFUN([gl_FUNC_STRDUP],
 [
   AC_REPLACE_FUNCS(strdup)
   AC_CHECK_DECLS_ONCE(strdup)
+  if test $ac_cv_have_decl_strdup = no; then
+    HAVE_DECL_STRDUP=0
+  fi
   gl_PREREQ_STRDUP
 ])

Index: m4/strndup.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/strndup.m4,v
retrieving revision 1.12
diff -u -p -r1.12 strndup.m4
--- m4/strndup.m4       28 Sep 2006 20:52:13 -0000      1.12
+++ m4/strndup.m4       26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
-# strndup.m4 serial 11
-dnl Copyright (C) 2002-2003, 2005-2006 Free Software Foundation, Inc.
+# strndup.m4 serial 12
+dnl Copyright (C) 2002-2003, 2005-2007 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.
@@ -10,6 +10,9 @@ AC_DEFUN([gl_FUNC_STRNDUP],
   AC_REQUIRE([AC_GNU_SOURCE])

   AC_CHECK_DECLS_ONCE([strndup])
+  if test $ac_cv_have_decl_strndup = no; then
+    HAVE_DECL_STRNDUP=0
+  fi

   # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'.
   AC_CACHE_CHECK([for working strndup], gl_cv_func_strndup,
@@ -39,6 +42,7 @@ AC_DEFUN([gl_FUNC_STRNDUP],
     AC_DEFINE([HAVE_STRNDUP], 1,
       [Define if you have the strndup() function and it works.])
   else
+    HAVE_STRNDUP=0
     AC_LIBOBJ([strndup])
     gl_PREREQ_STRNDUP
   fi
Index: m4/strnlen.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/strnlen.m4,v
retrieving revision 1.8
diff -u -p -r1.8 strnlen.m4
--- m4/strnlen.m4       21 Aug 2006 21:46:31 -0000      1.8
+++ m4/strnlen.m4       26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
-# strnlen.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005, 2006 Free Software Foundation, Inc.
+# strnlen.m4 serial 7
+dnl Copyright (C) 2002-2003, 2005, 2006, 2007 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.
@@ -9,6 +9,11 @@ AC_DEFUN([gl_FUNC_STRNLEN],
   dnl Persuade glibc <string.h> to declare strnlen().
   AC_REQUIRE([AC_GNU_SOURCE])

+  AC_CHECK_DECLS_ONCE([strnlen])
+  if test $ac_cv_have_decl_strnlen = no; then
+    HAVE_DECL_STRNLEN=0
+  fi
+
   AC_FUNC_STRNLEN
   if test $ac_cv_func_strnlen_working = no; then
     # This is necessary because automake-1.6.1 doens't understand
@@ -22,6 +27,4 @@ AC_DEFUN([gl_FUNC_STRNLEN],
 ])

 # Prerequisites of lib/strnlen.c.
-AC_DEFUN([gl_PREREQ_STRNLEN], [
-  AC_CHECK_DECLS_ONCE(strnlen)
-])
+AC_DEFUN([gl_PREREQ_STRNLEN], [:])
Index: m4/strpbrk.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/strpbrk.m4,v
retrieving revision 1.3
diff -u -p -r1.3 strpbrk.m4
--- m4/strpbrk.m4       18 Jan 2005 13:07:56 -0000      1.3
+++ m4/strpbrk.m4       26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
-# strpbrk.m4 serial 2
-dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
+# strpbrk.m4 serial 3
+dnl Copyright (C) 2002-2003, 2007 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.
@@ -8,6 +8,7 @@ AC_DEFUN([gl_FUNC_STRPBRK],
 [
   AC_REPLACE_FUNCS(strpbrk)
   if test $ac_cv_func_strpbrk = no; then
+    HAVE_STRPBRK=0
     gl_PREREQ_STRPBRK
   fi
 ])
Index: m4/strsep.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/strsep.m4,v
retrieving revision 1.3
diff -u -p -r1.3 strsep.m4
--- m4/strsep.m4        23 Jan 2005 08:06:57 -0000      1.3
+++ m4/strsep.m4        26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
-# strsep.m4 serial 3
-dnl Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+# strsep.m4 serial 4
+dnl Copyright (C) 2002, 2003, 2004, 2007 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.
@@ -10,7 +10,10 @@ AC_DEFUN([gl_FUNC_STRSEP],
   AC_REQUIRE([AC_GNU_SOURCE])

   AC_REPLACE_FUNCS(strsep)
-  gl_PREREQ_STRSEP
+  if test $ac_cv_func_strsep = no; then
+    HAVE_STRSEP=0
+    gl_PREREQ_STRSEP
+  fi
 ])

 # Prerequisites of lib/strsep.c.
Index: m4/strstr.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/strstr.m4,v
retrieving revision 1.6
diff -u -p -r1.6 strstr.m4
--- m4/strstr.m4        26 Sep 2005 13:58:51 -0000      1.6
+++ m4/strstr.m4        26 Jan 2007 07:40:05 -0000
@@ -10,6 +10,7 @@ AC_DEFUN([gl_FUNC_STRSTR],
   dnl multibyte locales. Therefore we use our version always.
   AC_LIBOBJ(strstr)
   gl_PREREQ_STRSTR
+  REPLACE_STRSTR=1
 ])

 # Prerequisites of lib/strstr.c.
Index: m4/strtok_r.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/strtok_r.m4,v
retrieving revision 1.3
diff -u -p -r1.3 strtok_r.m4
--- m4/strtok_r.m4      9 Aug 2006 22:27:28 -0000       1.3
+++ m4/strtok_r.m4      26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
-# strtok_r.m4 serial 3
-dnl Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+# strtok_r.m4 serial 4
+dnl Copyright (C) 2002, 2003, 2004, 2007 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.
@@ -8,10 +8,13 @@ AC_DEFUN([gl_FUNC_STRTOK_R],
 [
   AC_REPLACE_FUNCS(strtok_r)
   AC_CHECK_DECLS_ONCE(strtok_r)
+  if test $ac_cv_have_decl_strtok_r = no; then
+    HAVE_DECL_STRTOK_R=0
+  fi
   gl_PREREQ_STRTOK_R
 ])

-# Prerequisites of lib/strtok_r.h and lib/strtok_r.c.
+# Prerequisites of lib/strtok_r.c.
 AC_DEFUN([gl_PREREQ_STRTOK_R], [
   AC_REQUIRE([AC_C_RESTRICT])
 ])
Index: modules/memmem
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/memmem,v
retrieving revision 1.3
diff -u -p -r1.3 memmem
--- modules/memmem      13 Oct 2006 12:40:23 -0000      1.3
+++ modules/memmem      26 Jan 2007 07:40:05 -0000
@@ -2,11 +2,11 @@ Description:
 memmem() function: locate first substring in a buffer.

 Files:
-lib/memmem.h
 lib/memmem.c
 m4/memmem.m4

 Depends-on:
+string

 configure.ac:
 gl_FUNC_MEMMEM
@@ -14,7 +14,7 @@ gl_FUNC_MEMMEM
 Makefile.am:

 Include:
-"memmem.h"
+<string.h>

 License:
 LGPL
Index: modules/mempcpy
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/mempcpy,v
retrieving revision 1.7
diff -u -p -r1.7 mempcpy
--- modules/mempcpy     13 Oct 2006 12:40:23 -0000      1.7
+++ modules/mempcpy     26 Jan 2007 07:40:05 -0000
@@ -2,11 +2,11 @@ Description:
 mempcpy() function: copy memory area, return point after last written byte.

 Files:
-lib/mempcpy.h
 lib/mempcpy.c
 m4/mempcpy.m4

 Depends-on:
+string

 configure.ac:
 gl_FUNC_MEMPCPY
@@ -14,7 +14,7 @@ gl_FUNC_MEMPCPY
 Makefile.am:

 Include:
-"mempcpy.h"
+<string.h>

 License:
 LGPL
Index: modules/memrchr
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/memrchr,v
retrieving revision 1.8
diff -u -p -r1.8 memrchr
--- modules/memrchr     13 Oct 2006 12:40:23 -0000      1.8
+++ modules/memrchr     26 Jan 2007 07:40:05 -0000
@@ -3,10 +3,10 @@ memrchr() function: scan memory for a by

 Files:
 lib/memrchr.c
-lib/memrchr.h
 m4/memrchr.m4

 Depends-on:
+string

 configure.ac:
 gl_FUNC_MEMRCHR
@@ -14,7 +14,7 @@ gl_FUNC_MEMRCHR
 Makefile.am:

 Include:
-"memrchr.h"
+<string.h>

 License:
 LGPL
Index: modules/stpcpy
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/stpcpy,v
retrieving revision 1.7
diff -u -p -r1.7 stpcpy
--- modules/stpcpy      13 Oct 2006 12:40:23 -0000      1.7
+++ modules/stpcpy      26 Jan 2007 07:40:05 -0000
@@ -2,11 +2,11 @@ Description:
 stpcpy() function: copy a string, returning a pointer to its end.

 Files:
-lib/stpcpy.h
 lib/stpcpy.c
 m4/stpcpy.m4

 Depends-on:
+string

 configure.ac:
 gl_FUNC_STPCPY
@@ -14,11 +14,10 @@ gl_FUNC_STPCPY
 Makefile.am:

 Include:
-"stpcpy.h"
+<string.h>

 License:
 LGPL

 Maintainer:
 Bruno Haible, glibc
-
Index: modules/stpncpy
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/stpncpy,v
retrieving revision 1.4
diff -u -p -r1.4 stpncpy
--- modules/stpncpy     13 Oct 2006 12:40:23 -0000      1.4
+++ modules/stpncpy     26 Jan 2007 07:40:05 -0000
@@ -2,11 +2,11 @@ Description:
 stpncpy() function: copy a size-bounded string, returning a pointer to its end.

 Files:
-lib/stpncpy.h
 lib/stpncpy.c
 m4/stpncpy.m4

 Depends-on:
+string

 configure.ac:
 gl_FUNC_STPNCPY
@@ -14,11 +14,10 @@ gl_FUNC_STPNCPY
 Makefile.am:

 Include:
-"stpncpy.h"
+<string.h>

 License:
 LGPL

 Maintainer:
 Bruno Haible, glibc
-
Index: modules/strcase
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/strcase,v
retrieving revision 1.9
diff -u -p -r1.9 strcase
--- modules/strcase     13 Oct 2006 12:40:23 -0000      1.9
+++ modules/strcase     26 Jan 2007 07:40:05 -0000
@@ -2,7 +2,6 @@ Description:
 Case-insensitive string comparison functions.

 Files:
-lib/strcase.h
 lib/strcasecmp.c
 lib/strncasecmp.c
 m4/strcase.m4
@@ -10,6 +9,7 @@ m4/mbrtowc.m4

 Depends-on:
 mbuiter
+string

 configure.ac:
 gl_STRCASE
@@ -17,11 +17,10 @@ gl_STRCASE
 Makefile.am:

 Include:
-"strcase.h"
+<string.h>

 License:
 LGPL

 Maintainer:
 Bruno Haible
-
Index: modules/strchrnul
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/strchrnul,v
retrieving revision 1.6
diff -u -p -r1.6 strchrnul
--- modules/strchrnul   13 Oct 2006 12:40:23 -0000      1.6
+++ modules/strchrnul   26 Jan 2007 07:40:05 -0000
@@ -2,11 +2,11 @@ Description:
 strchrnul(): Find the first occurrence of C in S or the final NUL byte.

 Files:
-lib/strchrnul.h
 lib/strchrnul.c
 m4/strchrnul.m4

 Depends-on:
+string

 configure.ac:
 gl_FUNC_STRCHRNUL
@@ -14,7 +14,7 @@ gl_FUNC_STRCHRNUL
 Makefile.am:

 Include:
-"strchrnul.h"
+<string.h>

 License:
 LGPL
Index: modules/strdup
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/strdup,v
retrieving revision 1.9
diff -u -p -r1.9 strdup
--- modules/strdup      13 Oct 2006 12:40:23 -0000      1.9
+++ modules/strdup      26 Jan 2007 07:40:05 -0000
@@ -2,11 +2,11 @@ Description:
 strdup() function: duplicate a string.

 Files:
-lib/strdup.h
 lib/strdup.c
 m4/strdup.m4

 Depends-on:
+string

 configure.ac:
 gl_FUNC_STRDUP
@@ -14,7 +14,7 @@ gl_FUNC_STRDUP
 Makefile.am:

 Include:
-"strdup.h"
+<string.h>

 License:
 LGPL
Index: modules/strndup
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/strndup,v
retrieving revision 1.10
diff -u -p -r1.10 strndup
--- modules/strndup     13 Oct 2006 12:40:23 -0000      1.10
+++ modules/strndup     26 Jan 2007 07:40:05 -0000
@@ -2,11 +2,11 @@ Description:
 strndup() function: duplicate a size-bounded string.

 Files:
-lib/strndup.h
 lib/strndup.c
 m4/strndup.m4

 Depends-on:
+string
 strnlen

 configure.ac:
@@ -15,7 +15,7 @@ gl_FUNC_STRNDUP
 Makefile.am:

 Include:
-"strndup.h"
+<string.h>

 License:
 LGPL
Index: modules/strnlen
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/strnlen,v
retrieving revision 1.11
diff -u -p -r1.11 strnlen
--- modules/strnlen     13 Oct 2006 12:40:23 -0000      1.11
+++ modules/strnlen     26 Jan 2007 07:40:05 -0000
@@ -2,12 +2,12 @@ Description:
 strnlen() function: determine the length of a size-bounded string.

 Files:
-lib/strnlen.h
 lib/strnlen.c
 m4/strnlen.m4

 Depends-on:
 extensions
+string

 configure.ac:
 gl_FUNC_STRNLEN
@@ -15,7 +15,7 @@ gl_FUNC_STRNLEN
 Makefile.am:

 Include:
-"strnlen.h"
+<string.h>

 License:
 LGPL
Index: modules/strpbrk
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/strpbrk,v
retrieving revision 1.6
diff -u -p -r1.6 strpbrk
--- modules/strpbrk     13 Oct 2006 12:40:23 -0000      1.6
+++ modules/strpbrk     26 Jan 2007 07:40:05 -0000
@@ -2,11 +2,11 @@ Description:
 strpbrk() function: search a string for any of a set of characters.

 Files:
-lib/strpbrk.h
 lib/strpbrk.c
 m4/strpbrk.m4

 Depends-on:
+string

 configure.ac:
 gl_FUNC_STRPBRK
@@ -14,11 +14,10 @@ gl_FUNC_STRPBRK
 Makefile.am:

 Include:
-"strpbrk.h"
+<string.h>

 License:
 LGPL

 Maintainer:
 Bruno Haible, glibc
-
Index: modules/strsep
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/strsep,v
retrieving revision 1.3
diff -u -p -r1.3 strsep
--- modules/strsep      13 Oct 2006 12:40:23 -0000      1.3
+++ modules/strsep      26 Jan 2007 07:40:05 -0000
@@ -2,11 +2,11 @@ Description:
 strsep() function: extract token from string.

 Files:
-lib/strsep.h
 lib/strsep.c
 m4/strsep.m4

 Depends-on:
+string
 strpbrk

 configure.ac:
@@ -15,7 +15,7 @@ gl_FUNC_STRSEP
 Makefile.am:

 Include:
-"strsep.h"
+<string.h>

 License:
 LGPL
Index: modules/strstr
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/strstr,v
retrieving revision 1.8
diff -u -p -r1.8 strstr
--- modules/strstr      13 Oct 2006 12:40:23 -0000      1.8
+++ modules/strstr      26 Jan 2007 07:40:05 -0000
@@ -2,13 +2,13 @@ Description:
 strstr() function: search for a substring in a string.

 Files:
-lib/strstr.h
 lib/strstr.c
 m4/strstr.m4
 m4/mbrtowc.m4

 Depends-on:
 mbuiter
+string

 configure.ac:
 gl_FUNC_STRSTR
@@ -16,11 +16,10 @@ gl_FUNC_STRSTR
 Makefile.am:

 Include:
-"strstr.h"
+<string.h>

 License:
 LGPL

 Maintainer:
 Bruno Haible, glibc
-
Index: modules/strtok_r
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/strtok_r,v
retrieving revision 1.5
diff -u -p -r1.5 strtok_r
--- modules/strtok_r    13 Oct 2006 12:40:23 -0000      1.5
+++ modules/strtok_r    26 Jan 2007 07:40:05 -0000
@@ -3,10 +3,10 @@ strtok_r() function: split string into t

 Files:
 lib/strtok_r.c
-lib/strtok_r.h
 m4/strtok_r.m4

 Depends-on:
+string

 configure.ac:
 gl_FUNC_STRTOK_R
@@ -14,7 +14,7 @@ gl_FUNC_STRTOK_R
 Makefile.am:

 Include:
-"strtok_r.h"
+<string.h>

 License:
 LGPL
Index: tests/test-dirname.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/tests/test-dirname.c,v
retrieving revision 1.1
diff -u -p -r1.1 test-dirname.c
--- tests/test-dirname.c        4 Jul 2006 19:23:08 -0000       1.1
+++ tests/test-dirname.c        26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /* Test the gnulib dirname module.
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.

    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
@@ -26,8 +26,6 @@
 #include <stdlib.h>
 #include <string.h>

-#include "strdup.h"
-
 const char *program_name = "test-dirname";

 struct test {
Index: tests/test-memmem.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/tests/test-memmem.c,v
retrieving revision 1.2
diff -u -p -r1.2 test-memmem.c
--- tests/test-memmem.c 14 May 2005 06:03:58 -0000      1.2
+++ tests/test-memmem.c 26 Jan 2007 07:40:05 -0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004 Free Software Foundation
+ * Copyright (C) 2004, 2007 Free Software Foundation
  * Written by Simon Josefsson
  *
  * This program is free software; you can redistribute it and/or modify
@@ -23,7 +23,6 @@

 #include <stdio.h>
 #include <string.h>
-#include "memmem.h"

 int
 main (int argc, char *argv[])




reply via email to

[Prev in Thread] Current Thread [Next in Thread]