summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2007-01-26 22:16:55 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2007-01-26 22:16:55 +0000
commit1e4ece4ab9850fbfa88c9ec43ea518c7bc266792 (patch)
tree2358a3115304ff44d1e5a77c14eb6a18fdfc7da7 /lib
parent00da503f0eb41eae7b4bcfd2c539faf50d946695 (diff)
downloadgnulib-1e4ece4ab9850fbfa88c9ec43ea518c7bc266792.tar.gz
* 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.
Diffstat (limited to 'lib')
-rw-r--r--lib/.cppi-disable4
-rw-r--r--lib/argp-namefrob.h7
-rw-r--r--lib/canon-host.c5
-rw-r--r--lib/chdir-long.c3
-rw-r--r--lib/concatpath.c3
-rw-r--r--lib/exclude.c3
-rw-r--r--lib/fchdir.c4
-rw-r--r--lib/getaddrinfo.c5
-rw-r--r--lib/getcwd.c4
-rw-r--r--lib/getsubopt.c3
-rw-r--r--lib/glob.c4
-rw-r--r--lib/hard-locale.c4
-rw-r--r--lib/iconvme.c5
-rw-r--r--lib/javacomp.c3
-rw-r--r--lib/memmem.h32
-rw-r--r--lib/mempcpy.c4
-rw-r--r--lib/mempcpy.h36
-rw-r--r--lib/memrchr.c3
-rw-r--r--lib/memrchr.h27
-rw-r--r--lib/mountlist.c6
-rw-r--r--lib/regex_internal.h4
-rw-r--r--lib/stpcpy.h41
-rw-r--r--lib/stpncpy.c4
-rw-r--r--lib/stpncpy.h47
-rw-r--r--lib/strcase.h56
-rw-r--r--lib/strcasecmp.c4
-rw-r--r--lib/strchrnul.c4
-rw-r--r--lib/strchrnul.h28
-rw-r--r--lib/strdup.c8
-rw-r--r--lib/strdup.h39
-rw-r--r--lib/striconv.c1
-rw-r--r--lib/striconveh.c1
-rw-r--r--lib/striconveha.c1
-rw-r--r--lib/string_.h171
-rw-r--r--lib/strncasecmp.c4
-rw-r--r--lib/strndup.c8
-rw-r--r--lib/strndup.h32
-rw-r--r--lib/strnlen.c4
-rw-r--r--lib/strnlen.h32
-rw-r--r--lib/strpbrk.h28
-rw-r--r--lib/strsep.c6
-rw-r--r--lib/strsep.h52
-rw-r--r--lib/strstr.c6
-rw-r--r--lib/strstr.h37
-rw-r--r--lib/strtok_r.c4
-rw-r--r--lib/strtok_r.h53
-rw-r--r--lib/userspec.c1
-rw-r--r--lib/w32spawn.h4
-rw-r--r--lib/xstrndup.c4
49 files changed, 217 insertions, 632 deletions
diff --git a/lib/.cppi-disable b/lib/.cppi-disable
index 049783935f..465cbbf8c3 100644
--- a/lib/.cppi-disable
+++ b/lib/.cppi-disable
@@ -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
diff --git a/lib/argp-namefrob.h b/lib/argp-namefrob.h
index f10f58297b..6fe99cd7aa 100644
--- a/lib/argp-namefrob.h
+++ b/lib/argp-namefrob.h
@@ -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 <miles@gnu.ai.mit.edu>.
@@ -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
diff --git a/lib/canon-host.c b/lib/canon-host.c
index c29f314314..50ba67a6cf 100644
--- a/lib/canon-host.c
+++ b/lib/canon-host.c
@@ -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 <derek@ximbiot.com>.
@@ -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;
diff --git a/lib/chdir-long.c b/lib/chdir-long.c
index 8d0f062228..3fc7ef2a84 100644
--- a/lib/chdir-long.c
+++ b/lib/chdir-long.c
@@ -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
diff --git a/lib/concatpath.c b/lib/concatpath.c
index 01e47f393e..a6d4173562 100644
--- a/lib/concatpath.c
+++ b/lib/concatpath.c
@@ -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
diff --git a/lib/exclude.c b/lib/exclude.c
index 508b888447..5b726ff23c 100644
--- a/lib/exclude.c
+++ b/lib/exclude.c
@@ -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"
diff --git a/lib/fchdir.c b/lib/fchdir.c
index c05a9f3149..f3a9dfd620 100644
--- a/lib/fchdir.c
+++ b/lib/fchdir.c
@@ -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. */
diff --git a/lib/getaddrinfo.c b/lib/getaddrinfo.c
index f523f7658e..add56ba1bd 100644
--- a/lib/getaddrinfo.c
+++ b/lib/getaddrinfo.c
@@ -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 <simon@josefsson.org>.
@@ -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
diff --git a/lib/getcwd.c b/lib/getcwd.c
index f13da4dcc6..978c538373 100644
--- a/lib/getcwd.c
+++ b/lib/getcwd.c
@@ -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>
diff --git a/lib/getsubopt.c b/lib/getsubopt.c
index 2625249b96..4e9f1b0847 100644
--- a/lib/getsubopt.c
+++ b/lib/getsubopt.c
@@ -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 <drepper@cygnus.com>, 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
diff --git a/lib/glob.c b/lib/glob.c
index edef095e6d..ccd0e7afcd 100644
--- a/lib/glob.c
+++ b/lib/glob.c
@@ -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)
diff --git a/lib/hard-locale.c b/lib/hard-locale.c
index ef3912698e..dd2ba48439 100644
--- a/lib/hard-locale.c
+++ b/lib/hard-locale.c
@@ -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
diff --git a/lib/iconvme.c b/lib/iconvme.c
index 7403242ba0..0018aa308b 100644
--- a/lib/iconvme.c
+++ b/lib/iconvme.c
@@ -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
diff --git a/lib/javacomp.c b/lib/javacomp.c
index 5d3d60be4f..3e0ca1b961 100644
--- a/lib/javacomp.c
+++ b/lib/javacomp.c
@@ -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 <haible@clisp.cons.org>, 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)
diff --git a/lib/memmem.h b/lib/memmem.h
deleted file mode 100644
index 915a08be0a..0000000000
--- a/lib/memmem.h
+++ /dev/null
@@ -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 */
diff --git a/lib/mempcpy.c b/lib/mempcpy.c
index 3502da2441..af0ed452ec 100644
--- a/lib/mempcpy.c
+++ b/lib/mempcpy.c
@@ -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
diff --git a/lib/mempcpy.h b/lib/mempcpy.h
deleted file mode 100644
index fa2032107a..0000000000
--- a/lib/mempcpy.h
+++ /dev/null
@@ -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
diff --git a/lib/memrchr.c b/lib/memrchr.c
index 471511c57f..0b5661b074 100644
--- a/lib/memrchr.c
+++ b/lib/memrchr.c
@@ -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 (tege@sics.se),
with help from Dan Sahlin (dan@sics.se) and
@@ -28,7 +28,6 @@
# include <memcopy.h>
#else
# include <config.h>
-# include "memrchr.h"
# define reg_char char
#endif
diff --git a/lib/memrchr.h b/lib/memrchr.h
deleted file mode 100644
index d4785c2153..0000000000
--- a/lib/memrchr.h
+++ /dev/null
@@ -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
diff --git a/lib/mountlist.c b/lib/mountlist.c
index bb01f91efb..a50828e395 100644
--- a/lib/mountlist.c
+++ b/lib/mountlist.c
@@ -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>
diff --git a/lib/regex_internal.h b/lib/regex_internal.h
index b0f7e657ce..bd12572f48 100644
--- a/lib/regex_internal.h
+++ b/lib/regex_internal.h
@@ -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
diff --git a/lib/stpcpy.h b/lib/stpcpy.h
deleted file mode 100644
index 53c4ce00ab..0000000000
--- a/lib/stpcpy.h
+++ /dev/null
@@ -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 */
diff --git a/lib/stpncpy.c b/lib/stpncpy.c
index 9c0b1670bc..2a5f81c581 100644
--- a/lib/stpncpy.c
+++ b/lib/stpncpy.c
@@ -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 bug-glibc@gnu.org.
@@ -22,7 +22,7 @@
#include <config.h>
/* Specification. */
-#include "stpncpy.h"
+#include <string.h>
#ifndef weak_alias
# define __stpncpy stpncpy
diff --git a/lib/stpncpy.h b/lib/stpncpy.h
deleted file mode 100644
index 1ecb3e82c0..0000000000
--- a/lib/stpncpy.h
+++ /dev/null
@@ -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 */
diff --git a/lib/strcase.h b/lib/strcase.h
deleted file mode 100644
index 07d4c9a42b..0000000000
--- a/lib/strcase.h
+++ /dev/null
@@ -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 */
diff --git a/lib/strcasecmp.c b/lib/strcasecmp.c
index 99d5dd22a3..f63e64e3b7 100644
--- a/lib/strcasecmp.c
+++ b/lib/strcasecmp.c
@@ -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 <bruno@clisp.org>, 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>
diff --git a/lib/strchrnul.c b/lib/strchrnul.c
index 8d17f15909..03c49c3ea2 100644
--- a/lib/strchrnul.c
+++ b/lib/strchrnul.c
@@ -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 *
diff --git a/lib/strchrnul.h b/lib/strchrnul.h
deleted file mode 100644
index 5a31b96757..0000000000
--- a/lib/strchrnul.h
+++ /dev/null
@@ -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
diff --git a/lib/strdup.c b/lib/strdup.c
index 17d40d622d..c614108786 100644
--- a/lib/strdup.c
+++ b/lib/strdup.c
@@ -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
diff --git a/lib/strdup.h b/lib/strdup.h
deleted file mode 100644
index 73e66e3d7a..0000000000
--- a/lib/strdup.h
+++ /dev/null
@@ -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_ */
diff --git a/lib/striconv.c b/lib/striconv.c
index 3703e9c586..ea4fa2979e 100644
--- a/lib/striconv.c
+++ b/lib/striconv.c
@@ -31,7 +31,6 @@
# include <limits.h>
#endif
-#include "strdup.h"
#include "c-strcase.h"
#ifndef SIZE_MAX
diff --git a/lib/striconveh.c b/lib/striconveh.c
index 191598b84e..167ac92afc 100644
--- a/lib/striconveh.c
+++ b/lib/striconveh.c
@@ -33,7 +33,6 @@
# include "unistr.h"
#endif
-#include "strdup.h"
#include "c-strcase.h"
#include "c-strcaseeq.h"
diff --git a/lib/striconveha.c b/lib/striconveha.c
index 78dfddc42d..fdb8421654 100644
--- a/lib/striconveha.c
+++ b/lib/striconveha.c
@@ -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]))
diff --git a/lib/string_.h b/lib/string_.h
new file mode 100644
index 0000000000..4bd7518b3c
--- /dev/null
+++ b/lib/string_.h
@@ -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
diff --git a/lib/strncasecmp.c b/lib/strncasecmp.c
index f59b953a7d..14ae204b9c 100644
--- a/lib/strncasecmp.c
+++ b/lib/strncasecmp.c
@@ -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>
diff --git a/lib/strndup.c b/lib/strndup.c
index 290f494f4e..3a1b0eae2e 100644
--- a/lib/strndup.c
+++ b/lib/strndup.c
@@ -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)
diff --git a/lib/strndup.h b/lib/strndup.h
deleted file mode 100644
index b983dd2281..0000000000
--- a/lib/strndup.h
+++ /dev/null
@@ -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
diff --git a/lib/strnlen.c b/lib/strnlen.c
index 593fd1b7c8..d346d3272c 100644
--- a/lib/strnlen.c
+++ b/lib/strnlen.c
@@ -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. */
diff --git a/lib/strnlen.h b/lib/strnlen.h
deleted file mode 100644
index ba74dba7b2..0000000000
--- a/lib/strnlen.h
+++ /dev/null
@@ -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 */
diff --git a/lib/strpbrk.h b/lib/strpbrk.h
deleted file mode 100644
index acc8d358ba..0000000000
--- a/lib/strpbrk.h
+++ /dev/null
@@ -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
diff --git a/lib/strsep.c b/lib/strsep.c
index db2b074c85..1a86852b8d 100644
--- a/lib/strsep.c
+++ b/lib/strsep.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2007 Free Software Foundation, Inc.
Written by Yoann Vandoorselaere <yoann@prelude-ids.org>.
@@ -21,12 +21,8 @@
#endif
/* Specification. */
-#include "strsep.h"
-
#include <string.h>
-#include "strpbrk.h"
-
char *
strsep (char **stringp, const char *delim)
{
diff --git a/lib/strsep.h b/lib/strsep.h
deleted file mode 100644
index ca28a2ffef..0000000000
--- a/lib/strsep.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-
- Written by Yoann Vandoorselaere <yoann@prelude-ids.org>.
-
- 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_ */
diff --git a/lib/strstr.c b/lib/strstr.c
index f1e2ef6988..2ee16507a8 100644
--- a/lib/strstr.c
+++ b/lib/strstr.c
@@ -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 <bruno@clisp.org>, 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"
diff --git a/lib/strstr.h b/lib/strstr.h
deleted file mode 100644
index a28b1401ea..0000000000
--- a/lib/strstr.h
+++ /dev/null
@@ -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
diff --git a/lib/strtok_r.c b/lib/strtok_r.c
index 4a21cae970..fde7b5cdaf 100644
--- a/lib/strtok_r.c
+++ b/lib/strtok_r.c
@@ -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
diff --git a/lib/strtok_r.h b/lib/strtok_r.h
deleted file mode 100644
index 7d3f21b5f0..0000000000
--- a/lib/strtok_r.h
+++ /dev/null
@@ -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 */
diff --git a/lib/userspec.c b/lib/userspec.c
index 5f4f2af318..c1f580a17f 100644
--- a/lib/userspec.c
+++ b/lib/userspec.c
@@ -41,7 +41,6 @@
#include "intprops.h"
#include "inttostr.h"
-#include "strdup.h"
#include "xalloc.h"
#include "xstrtol.h"
diff --git a/lib/w32spawn.h b/lib/w32spawn.h
index 6beaafd225..18c78242ef 100644
--- a/lib/w32spawn.h
+++ b/lib/w32spawn.h
@@ -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 <bruno@clisp.org>, 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. */
diff --git a/lib/xstrndup.c b/lib/xstrndup.c
index afcbc1ab2c..7ccefd798a 100644
--- a/lib/xstrndup.c
+++ b/lib/xstrndup.c
@@ -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.