bug-gnulib
[Top][All Lists]
Advanced

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

Re: [bug-gnulib] proposed 'string' module for gnulib


From: Paul Eggert
Subject: Re: [bug-gnulib] proposed 'string' module for gnulib
Date: Fri, 26 Jan 2007 14:18:52 -0800
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)

Bruno Haible <address@hidden> writes:

> Your ChangeLog entry doesn't mark strndup.h, strnlen.h, strpbrk.h, strsep.h,
> strstr.h, strtok_r.h as removed. Presumably you want to remove them as well?
>
> In lib/canon-host.c, I'd vote for #including <string.h> before the gnulib
> specific headers ("getaddrinfo.h" etc.).
>
> In lib/strstr.c you are betting that <string.h> defines NULL. I wouldn't
> bet on that; all I know for sure is that <stddef.h> defines NULL on all
> platforms, and also <stdlib.h> defines NULL on all platforms.
>
> In lib/string_.h lines 54, 135, 136, the indentation can be adjusted.

Thanks for the careful reading.  I fixed all those problems and
installed it.  No doubt there will still be a few glitches for other
apps but it does work for coreutils (suitably modified) now.  Here's
what I actually installed.

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/strndup.h: Likewise.
        * lib/strnlen.h: Likewise.
        * lib/strpbrk.h: Likewise.
        * lib/strsep.h: Likewise.
        * lib/strstr.h: Likewise.
        * lib/strtok_r.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/string_h.m4: New file.
        * 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/string: New file.
        * 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 22:16:51 -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 22:16:51 -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/strndup.h
===================================================================
RCS file: lib/strndup.h
diff -N lib/strndup.h
--- lib/strndup.h       28 Sep 2006 20:52:13 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-/* Duplicate a size-bounded string.
-   Copyright (C) 2003, 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.  */
-
-/* Get size_t.  */
-#include <stddef.h>
-/* If HAVE_STRNDUP, get the strndup declaration.
-   If !HAVE_STRNDUP, include <string.h> now so that it doesn't cause
-   trouble if included later.  */
-#include <string.h>
-
-#if !HAVE_STRNDUP
-# undef strndup
-# define strndup rpl_strndup
-# if !HAVE_DECL_STRNDUP  /* Don't risk conflicting declarations.  */
-/* Return a newly allocated copy of at most N bytes of STRING.  */
-extern char *strndup (const char *string, size_t n);
-# endif
-#endif
Index: lib/strnlen.h
===================================================================
RCS file: lib/strnlen.h
diff -N lib/strnlen.h
--- lib/strnlen.h       11 Aug 2005 11:45:05 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-/* 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 <string.h>
-
-#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 *string, size_t maxlen);
-#endif
-
-#endif /* STRNLEN_H */
Index: lib/strpbrk.h
===================================================================
RCS file: lib/strpbrk.h
diff -N lib/strpbrk.h
--- lib/strpbrk.h       14 May 2005 06:03:58 -0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-/* Searching in a string.
-   Copyright (C) 2001-2002 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_STRPBRK
-
-/* Get strpbrk() declaration.  */
-#include <string.h>
-
-#else
-
-/* Find the first occurrence in S of any character in ACCEPT.  */
-extern char *strpbrk (const char *s, const char *accept);
-
-#endif
Index: lib/strsep.h
===================================================================
RCS file: lib/strsep.h
diff -N lib/strsep.h
--- lib/strsep.h        14 May 2005 06:27:58 -0000      1.6
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,52 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-
-   Written by Yoann Vandoorselaere <address@hidden>.
-
-   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 GNULIB_STRSEP_H_
-#define GNULIB_STRSEP_H_
-
-#if HAVE_STRSEP
-
-/*
- * Get strsep() declaration.
- */
-#include <string.h>
-
-#else
-
-/* Searches the next delimiter (char listed in DELIM) starting at *STRINGP.
-   If one is found, it is overwritten with a NUL, and *STRINGP is advanced
-   to point to the next char after it.  Otherwise, *STRINGP is set to NULL.
-   If *STRINGP was already NULL, nothing happens.
-   Returns 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().  */
-
-extern char *strsep (char **stringp, const char *delim);
-
-#endif
-
-#endif /* GNULIB_STRSEP_H_ */
Index: lib/strstr.h
===================================================================
RCS file: lib/strstr.h
diff -N lib/strstr.h
--- lib/strstr.h        15 Sep 2005 16:25:48 -0000      1.6
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,37 +0,0 @@
-/* Searching in a string.
-   Copyright (C) 2001-2003, 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.  */
-
-
-/* Include string.h: on glibc systems, it contains a macro definition of
-   strstr() that would collide with our definition if included afterwards.  */
-#include <string.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* No known system has a strstr() function that works correctly in
-   multibyte locales. Therefore we use our version always.  */
-#undef strstr
-#define strstr rpl_strstr
-
-/* Find the first occurrence of NEEDLE in HAYSTACK.  */
-extern char *strstr (const char *haystack, const char *needle);
-
-#ifdef __cplusplus
-}
-#endif
Index: lib/strtok_r.h
===================================================================
RCS file: lib/strtok_r.h
diff -N lib/strtok_r.h
--- lib/strtok_r.h      11 Jul 2005 11:21:55 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,53 +0,0 @@
-/* Split string into tokens
-   Copyright (C) 2004-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 STRTOK_R_H
-#define STRTOK_R_H
-
-/* Get strtok_r declaration, if available.  */
-#include <string.h>
-
-/* 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 defined HAVE_DECL_STRTOK_R && !HAVE_DECL_STRTOK_R
-extern char *strtok_r(char *restrict s, const char *restrict sep,
-                     char **restrict lasts);
-#endif
-
-#endif /* STRTOK_R_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 22:16:51 -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 22:16:51 -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 22:16:51 -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>.

@@ -22,8 +22,9 @@

 #include "canon-host.h"

+#include <string.h>
+
 #include "getaddrinfo.h"
-#include "strdup.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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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,9 @@
 #include <config.h>

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

-#include <stddef.h>  /* for NULL */
+#include <stddef.h>  /* for NULL, in case a nonstandard string.h lacks it */

 #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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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/string_h.m4
===================================================================
RCS file: m4/string_h.m4
diff -N m4/string_h.m4
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ m4/string_h.m4      26 Jan 2007 22:16:51 -0000
@@ -0,0 +1,41 @@
+# Configure a GNU-like replacement for <string.h>.
+
+# Copyright (C) 2007 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Written by Paul Eggert.
+
+AC_DEFUN([gl_HEADER_STRING_H],
+[
+  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+  dnl once only, before all statements that occur in other macros.
+  AC_REQUIRE([gl_HEADER_STRING_H_BODY])
+])
+
+AC_DEFUN([gl_HEADER_STRING_H_BODY],
+[
+  AC_REQUIRE([AC_C_RESTRICT])
+  gl_ABSOLUTE_HEADER([string.h])
+  ABSOLUTE_STRING_H=\"$gl_cv_absolute_string_h\"
+  AC_SUBST([ABSOLUTE_STRING_H])
+
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_DECL_MEMMEM=1;          AC_SUBST([HAVE_DECL_MEMMEM])
+  HAVE_MEMPCPY=1;              AC_SUBST([HAVE_MEMPCPY])
+  HAVE_DECL_MEMRCHR=1;         AC_SUBST([HAVE_DECL_MEMRCHR])
+  HAVE_STPCPY=1;               AC_SUBST([HAVE_STPCPY])
+  HAVE_STPNCPY=1;              AC_SUBST([HAVE_STPNCPY])
+  HAVE_DECL_STRNCASECMP=1;     AC_SUBST([HAVE_DECL_STRNCASECMP])
+  HAVE_STRCHRNUL=1;            AC_SUBST([HAVE_STRCHRNUL])
+  HAVE_DECL_STRDUP=1;          AC_SUBST([HAVE_DECL_STRDUP])
+  HAVE_STRNDUP=1;              AC_SUBST([HAVE_STRNDUP])
+  HAVE_DECL_STRNDUP=1;         AC_SUBST([HAVE_DECL_STRNDUP])
+  HAVE_DECL_STRNLEN=1;         AC_SUBST([HAVE_DECL_STRNLEN])
+  HAVE_STRPBRK=1;              AC_SUBST([HAVE_STRPBRK])
+  HAVE_STRSEP=1;               AC_SUBST([HAVE_STRSEP])
+  HAVE_DECL_STRTOK_R=1;                AC_SUBST([HAVE_DECL_STRTOK_R])
+  REPLACE_STRCASECMP=0;                AC_SUBST([REPLACE_STRCASECMP])
+  REPLACE_STRSTR=0;            AC_SUBST([REPLACE_STRSTR])
+])
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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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/string
===================================================================
RCS file: modules/string
diff -N modules/string
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ modules/string      26 Jan 2007 22:16:51 -0000
@@ -0,0 +1,52 @@
+Description:
+A GNU-like <string.h>.
+
+Files:
+lib/string_.h
+m4/string_h.m4
+
+Depends-on:
+absolute-header
+extensions
+
+configure.ac:
+gl_HEADER_STRING_H
+
+Makefile.am:
+BUILT_SOURCES += string.h
+
+# We need the following in order to create <string.h> when the system
+# doesn't have one that works with the given compiler.
+string.h: string_.h
+       rm -f address@hidden $@
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+         sed -e 's|@''ABSOLUTE_STRING_H''@|$(ABSOLUTE_STRING_H)|g' \
+             -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
+             -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
+             -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
+             -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
+             -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
+             -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \
+             -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
+             -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
+             -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \
+             -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
+             -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
+             -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
+             -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
+             -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
+             -e 's|@''REPLACE_STRCASECMP''@|$(REPLACE_STRCASECMP)|g' \
+             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
+             < $(srcdir)/string_.h; \
+       } > address@hidden
+       mv address@hidden $@
+MOSTLYCLEANFILES += string.h string.h-t
+
+Include:
+#include <string.h>
+
+License:
+LGPL
+
+Maintainer:
+all
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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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 22:16:51 -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]