summary refs log tree commit diff
path: root/string/string.h
diff options
context:
space:
mode:
Diffstat (limited to 'string/string.h')
-rw-r--r--string/string.h176
1 files changed, 87 insertions, 89 deletions
diff --git a/string/string.h b/string/string.h
index 388402189f..63a1e76b2c 100644
--- a/string/string.h
+++ b/string/string.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993,1995-2004,2007,2009,2010
+/* Copyright (C) 1991-1993,1995-2004,2007,2009,2010,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -41,12 +41,11 @@ __BEGIN_DECLS
 
 __BEGIN_NAMESPACE_STD
 /* Copy N bytes of SRC to DEST.  */
-extern void *memcpy (void *__restrict __dest,
-		     __const void *__restrict __src, size_t __n)
-     __THROW __nonnull ((1, 2));
+extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
+		     size_t __n) __THROW __nonnull ((1, 2));
 /* Copy N bytes of SRC to DEST, guaranteeing
    correct behavior for overlapping strings.  */
-extern void *memmove (void *__dest, __const void *__src, size_t __n)
+extern void *memmove (void *__dest, const void *__src, size_t __n)
      __THROW __nonnull ((1, 2));
 __END_NAMESPACE_STD
 
@@ -54,7 +53,7 @@ __END_NAMESPACE_STD
    Return the position in DEST one byte past where C was copied,
    or NULL if C was not found in the first N bytes of SRC.  */
 #if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN
-extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
+extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
 		      int __c, size_t __n)
      __THROW __nonnull ((1, 2));
 #endif /* SVID.  */
@@ -65,7 +64,7 @@ __BEGIN_NAMESPACE_STD
 extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1));
 
 /* Compare N bytes of S1 and S2.  */
-extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
+extern int memcmp (const void *__s1, const void *__s2, size_t __n)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Search N bytes of S for C.  */
@@ -74,7 +73,7 @@ extern "C++"
 {
 extern void *memchr (void *__s, int __c, size_t __n)
       __THROW __asm ("memchr") __attribute_pure__ __nonnull ((1));
-extern __const void *memchr (__const void *__s, int __c, size_t __n)
+extern const void *memchr (const void *__s, int __c, size_t __n)
       __THROW __asm ("memchr") __attribute_pure__ __nonnull ((1));
 
 # ifdef __OPTIMIZE__
@@ -84,15 +83,15 @@ memchr (void *__s, int __c, size_t __n) __THROW
   return __builtin_memchr (__s, __c, __n);
 }
 
-__extern_always_inline __const void *
-memchr (__const void *__s, int __c, size_t __n) __THROW
+__extern_always_inline const void *
+memchr (const void *__s, int __c, size_t __n) __THROW
 {
   return __builtin_memchr (__s, __c, __n);
 }
 # endif
 }
 #else
-extern void *memchr (__const void *__s, int __c, size_t __n)
+extern void *memchr (const void *__s, int __c, size_t __n)
       __THROW __attribute_pure__ __nonnull ((1));
 #endif
 __END_NAMESPACE_STD
@@ -103,10 +102,10 @@ __END_NAMESPACE_STD
 # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++" void *rawmemchr (void *__s, int __c)
      __THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1));
-extern "C++" __const void *rawmemchr (__const void *__s, int __c)
+extern "C++" const void *rawmemchr (const void *__s, int __c)
      __THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1));
 # else
-extern void *rawmemchr (__const void *__s, int __c)
+extern void *rawmemchr (const void *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 # endif
 
@@ -114,10 +113,10 @@ extern void *rawmemchr (__const void *__s, int __c)
 # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++" void *memrchr (void *__s, int __c, size_t __n)
       __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1));
-extern "C++" __const void *memrchr (__const void *__s, int __c, size_t __n)
+extern "C++" const void *memrchr (const void *__s, int __c, size_t __n)
       __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1));
 # else
-extern void *memrchr (__const void *__s, int __c, size_t __n)
+extern void *memrchr (const void *__s, int __c, size_t __n)
       __THROW __attribute_pure__ __nonnull ((1));
 # endif
 #endif
@@ -125,33 +124,33 @@ extern void *memrchr (__const void *__s, int __c, size_t __n)
 
 __BEGIN_NAMESPACE_STD
 /* Copy SRC to DEST.  */
-extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
+extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      __THROW __nonnull ((1, 2));
 /* Copy no more than N characters of SRC to DEST.  */
 extern char *strncpy (char *__restrict __dest,
-		      __const char *__restrict __src, size_t __n)
+		      const char *__restrict __src, size_t __n)
      __THROW __nonnull ((1, 2));
 
 /* Append SRC onto DEST.  */
-extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
+extern char *strcat (char *__restrict __dest, const char *__restrict __src)
      __THROW __nonnull ((1, 2));
 /* Append no more than N characters from SRC onto DEST.  */
-extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
+extern char *strncat (char *__restrict __dest, const char *__restrict __src,
 		      size_t __n) __THROW __nonnull ((1, 2));
 
 /* Compare S1 and S2.  */
-extern int strcmp (__const char *__s1, __const char *__s2)
+extern int strcmp (const char *__s1, const char *__s2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Compare N characters of S1 and S2.  */
-extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
+extern int strncmp (const char *__s1, const char *__s2, size_t __n)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Compare the collated forms of S1 and S2.  */
-extern int strcoll (__const char *__s1, __const char *__s2)
+extern int strcoll (const char *__s1, const char *__s2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Put a transformation of SRC into no more than N bytes of DEST.  */
 extern size_t strxfrm (char *__restrict __dest,
-		       __const char *__restrict __src, size_t __n)
+		       const char *__restrict __src, size_t __n)
      __THROW __nonnull ((2));
 __END_NAMESPACE_STD
 
@@ -162,17 +161,17 @@ __END_NAMESPACE_STD
 # include <xlocale.h>
 
 /* Compare the collated forms of S1 and S2 using rules from L.  */
-extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
+extern int strcoll_l (const char *__s1, const char *__s2, __locale_t __l)
      __THROW __attribute_pure__ __nonnull ((1, 2, 3));
 /* Put a transformation of SRC into no more than N bytes of DEST.  */
-extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
+extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
 			 __locale_t __l) __THROW __nonnull ((2, 4));
 #endif
 
 #if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED \
     || defined __USE_XOPEN2K8
 /* Duplicate S, returning an identical malloc'd string.  */
-extern char *strdup (__const char *__s)
+extern char *strdup (const char *__s)
      __THROW __attribute_malloc__ __nonnull ((1));
 #endif
 
@@ -180,7 +179,7 @@ extern char *strdup (__const char *__s)
    resultant string is terminated even if no null terminator
    appears before STRING[N].  */
 #if defined __USE_XOPEN2K8
-extern char *strndup (__const char *__string, size_t __n)
+extern char *strndup (const char *__string, size_t __n)
      __THROW __attribute_malloc__ __nonnull ((1));
 #endif
 
@@ -189,7 +188,7 @@ extern char *strndup (__const char *__string, size_t __n)
 # define strdupa(s)							      \
   (__extension__							      \
     ({									      \
-      __const char *__old = (s);					      \
+      const char *__old = (s);						      \
       size_t __len = strlen (__old) + 1;				      \
       char *__new = (char *) __builtin_alloca (__len);			      \
       (char *) memcpy (__new, __old, __len);				      \
@@ -199,7 +198,7 @@ extern char *strndup (__const char *__string, size_t __n)
 # define strndupa(s, n)							      \
   (__extension__							      \
     ({									      \
-      __const char *__old = (s);					      \
+      const char *__old = (s);						      \
       size_t __len = strnlen (__old, (n));				      \
       char *__new = (char *) __builtin_alloca (__len + 1);		      \
       __new[__len] = '\0';						      \
@@ -214,7 +213,7 @@ extern "C++"
 {
 extern char *strchr (char *__s, int __c)
      __THROW __asm ("strchr") __attribute_pure__ __nonnull ((1));
-extern __const char *strchr (__const char *__s, int __c)
+extern const char *strchr (const char *__s, int __c)
      __THROW __asm ("strchr") __attribute_pure__ __nonnull ((1));
 
 # ifdef __OPTIMIZE__
@@ -224,15 +223,15 @@ strchr (char *__s, int __c) __THROW
   return __builtin_strchr (__s, __c);
 }
 
-__extern_always_inline __const char *
-strchr (__const char *__s, int __c) __THROW
+__extern_always_inline const char *
+strchr (const char *__s, int __c) __THROW
 {
   return __builtin_strchr (__s, __c);
 }
 # endif
 }
 #else
-extern char *strchr (__const char *__s, int __c)
+extern char *strchr (const char *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 #endif
 /* Find the last occurrence of C in S.  */
@@ -241,7 +240,7 @@ extern "C++"
 {
 extern char *strrchr (char *__s, int __c)
      __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1));
-extern __const char *strrchr (__const char *__s, int __c)
+extern const char *strrchr (const char *__s, int __c)
      __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1));
 
 # ifdef __OPTIMIZE__
@@ -251,15 +250,15 @@ strrchr (char *__s, int __c) __THROW
   return __builtin_strrchr (__s, __c);
 }
 
-__extern_always_inline __const char *
-strrchr (__const char *__s, int __c) __THROW
+__extern_always_inline const char *
+strrchr (const char *__s, int __c) __THROW
 {
   return __builtin_strrchr (__s, __c);
 }
 # endif
 }
 #else
-extern char *strrchr (__const char *__s, int __c)
+extern char *strrchr (const char *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 #endif
 __END_NAMESPACE_STD
@@ -270,10 +269,10 @@ __END_NAMESPACE_STD
 # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++" char *strchrnul (char *__s, int __c)
      __THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1));
-extern "C++" __const char *strchrnul (__const char *__s, int __c)
+extern "C++" const char *strchrnul (const char *__s, int __c)
      __THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1));
 # else
-extern char *strchrnul (__const char *__s, int __c)
+extern char *strchrnul (const char *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 # endif
 #endif
@@ -281,82 +280,81 @@ extern char *strchrnul (__const char *__s, int __c)
 __BEGIN_NAMESPACE_STD
 /* Return the length of the initial segment of S which
    consists entirely of characters not in REJECT.  */
-extern size_t strcspn (__const char *__s, __const char *__reject)
+extern size_t strcspn (const char *__s, const char *__reject)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Return the length of the initial segment of S which
    consists entirely of characters in ACCEPT.  */
-extern size_t strspn (__const char *__s, __const char *__accept)
+extern size_t strspn (const char *__s, const char *__accept)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Find the first occurrence in S of any character in ACCEPT.  */
 #ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++"
 {
-extern char *strpbrk (char *__s, __const char *__accept)
+extern char *strpbrk (char *__s, const char *__accept)
      __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2));
-extern __const char *strpbrk (__const char *__s, __const char *__accept)
+extern const char *strpbrk (const char *__s, const char *__accept)
      __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2));
 
 # ifdef __OPTIMIZE__
 __extern_always_inline char *
-strpbrk (char *__s, __const char *__accept) __THROW
+strpbrk (char *__s, const char *__accept) __THROW
 {
   return __builtin_strpbrk (__s, __accept);
 }
 
-__extern_always_inline __const char *
-strpbrk (__const char *__s, __const char *__accept) __THROW
+__extern_always_inline const char *
+strpbrk (const char *__s, const char *__accept) __THROW
 {
   return __builtin_strpbrk (__s, __accept);
 }
 # endif
 }
 #else
-extern char *strpbrk (__const char *__s, __const char *__accept)
+extern char *strpbrk (const char *__s, const char *__accept)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 #endif
 /* Find the first occurrence of NEEDLE in HAYSTACK.  */
 #ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++"
 {
-extern char *strstr (char *__haystack, __const char *__needle)
+extern char *strstr (char *__haystack, const char *__needle)
      __THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2));
-extern __const char *strstr (__const char *__haystack,
-			     __const char *__needle)
+extern const char *strstr (const char *__haystack, const char *__needle)
      __THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2));
 
 # ifdef __OPTIMIZE__
 __extern_always_inline char *
-strstr (char *__haystack, __const char *__needle) __THROW
+strstr (char *__haystack, const char *__needle) __THROW
 {
   return __builtin_strstr (__haystack, __needle);
 }
 
-__extern_always_inline __const char *
-strstr (__const char *__haystack, __const char *__needle) __THROW
+__extern_always_inline const char *
+strstr (const char *__haystack, const char *__needle) __THROW
 {
   return __builtin_strstr (__haystack, __needle);
 }
 # endif
 }
 #else
-extern char *strstr (__const char *__haystack, __const char *__needle)
+extern char *strstr (const char *__haystack, const char *__needle)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 #endif
 
 
 /* Divide S into tokens separated by characters in DELIM.  */
-extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
+extern char *strtok (char *__restrict __s, const char *__restrict __delim)
      __THROW __nonnull ((2));
 __END_NAMESPACE_STD
 
 /* Divide S into tokens separated by characters in DELIM.  Information
    passed between calls are stored in SAVE_PTR.  */
 extern char *__strtok_r (char *__restrict __s,
-			 __const char *__restrict __delim,
+			 const char *__restrict __delim,
 			 char **__restrict __save_ptr)
      __THROW __nonnull ((2, 3));
 #if defined __USE_POSIX || defined __USE_MISC
-extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
+extern char *strtok_r (char *__restrict __s, const char *__restrict __delim,
 		       char **__restrict __save_ptr)
      __THROW __nonnull ((2, 3));
 #endif
@@ -364,13 +362,13 @@ extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
 #ifdef __USE_GNU
 /* Similar to `strstr' but this function ignores the case of both strings.  */
 # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
-extern "C++" char *strcasestr (char *__haystack, __const char *__needle)
+extern "C++" char *strcasestr (char *__haystack, const char *__needle)
      __THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2));
-extern "C++" __const char *strcasestr (__const char *__haystack,
-				       __const char *__needle)
+extern "C++" const char *strcasestr (const char *__haystack,
+				     const char *__needle)
      __THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2));
 # else
-extern char *strcasestr (__const char *__haystack, __const char *__needle)
+extern char *strcasestr (const char *__haystack, const char *__needle)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 # endif
 #endif
@@ -379,31 +377,31 @@ extern char *strcasestr (__const char *__haystack, __const char *__needle)
 /* Find the first occurrence of NEEDLE in HAYSTACK.
    NEEDLE is NEEDLELEN bytes long;
    HAYSTACK is HAYSTACKLEN bytes long.  */
-extern void *memmem (__const void *__haystack, size_t __haystacklen,
-		     __const void *__needle, size_t __needlelen)
+extern void *memmem (const void *__haystack, size_t __haystacklen,
+		     const void *__needle, size_t __needlelen)
      __THROW __attribute_pure__ __nonnull ((1, 3));
 
 /* Copy N bytes of SRC to DEST, return pointer to bytes after the
    last written byte.  */
 extern void *__mempcpy (void *__restrict __dest,
-			__const void *__restrict __src, size_t __n)
+			const void *__restrict __src, size_t __n)
      __THROW __nonnull ((1, 2));
 extern void *mempcpy (void *__restrict __dest,
-		      __const void *__restrict __src, size_t __n)
+		      const void *__restrict __src, size_t __n)
      __THROW __nonnull ((1, 2));
 #endif
 
 
 __BEGIN_NAMESPACE_STD
 /* Return the length of S.  */
-extern size_t strlen (__const char *__s)
+extern size_t strlen (const char *__s)
      __THROW __attribute_pure__ __nonnull ((1));
 __END_NAMESPACE_STD
 
 #ifdef	__USE_XOPEN2K8
 /* Find the length of STRING, but scan at most MAXLEN characters.
    If no '\0' terminator is found in that many characters, return MAXLEN.  */
-extern size_t strnlen (__const char *__string, size_t __maxlen)
+extern size_t strnlen (const char *__string, size_t __maxlen)
      __THROW __attribute_pure__ __nonnull ((1));
 #endif
 
@@ -452,14 +450,14 @@ extern void __bzero (void *__s, size_t __n) __THROW __nonnull ((1));
 
 #ifdef __USE_BSD
 /* Copy N bytes of SRC to DEST (like memmove, but args reversed).  */
-extern void bcopy (__const void *__src, void *__dest, size_t __n)
+extern void bcopy (const void *__src, void *__dest, size_t __n)
      __THROW __nonnull ((1, 2));
 
 /* Set N bytes of S to 0.  */
 extern void bzero (void *__s, size_t __n) __THROW __nonnull ((1));
 
 /* Compare N bytes of S1 and S2 (same as memcmp).  */
-extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
+extern int bcmp (const void *__s1, const void *__s2, size_t __n)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Find the first occurrence of C in S (same as strchr).  */
@@ -468,7 +466,7 @@ extern "C++"
 {
 extern char *index (char *__s, int __c)
      __THROW __asm ("index") __attribute_pure__ __nonnull ((1));
-extern __const char *index (__const char *__s, int __c)
+extern const char *index (const char *__s, int __c)
      __THROW __asm ("index") __attribute_pure__ __nonnull ((1));
 
 #  if defined __OPTIMIZE__ && !defined __CORRECT_ISO_CPP_STRINGS_H_PROTO
@@ -478,15 +476,15 @@ index (char *__s, int __c) __THROW
   return __builtin_index (__s, __c);
 }
 
-__extern_always_inline __const char *
-index (__const char *__s, int __c) __THROW
+__extern_always_inline const char *
+index (const char *__s, int __c) __THROW
 {
   return __builtin_index (__s, __c);
 }
 #  endif
 }
 # else
-extern char *index (__const char *__s, int __c)
+extern char *index (const char *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 # endif
 
@@ -496,7 +494,7 @@ extern "C++"
 {
 extern char *rindex (char *__s, int __c)
      __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1));
-extern __const char *rindex (__const char *__s, int __c)
+extern const char *rindex (const char *__s, int __c)
      __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1));
 
 #  if defined __OPTIMIZE__ && !defined __CORRECT_ISO_CPP_STRINGS_H_PROTO
@@ -506,15 +504,15 @@ rindex (char *__s, int __c) __THROW
   return __builtin_rindex (__s, __c);
 }
 
-__extern_always_inline __const char *
-rindex (__const char *__s, int __c) __THROW
+__extern_always_inline const char *
+rindex (const char *__s, int __c) __THROW
 {
   return __builtin_rindex (__s, __c);
 }
 #endif
 }
 # else
-extern char *rindex (__const char *__s, int __c)
+extern char *rindex (const char *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 # endif
 
@@ -533,22 +531,22 @@ __extension__ extern int ffsll (long long int __ll)
 # endif
 
 /* Compare S1 and S2, ignoring case.  */
-extern int strcasecmp (__const char *__s1, __const char *__s2)
+extern int strcasecmp (const char *__s1, const char *__s2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Compare no more than N chars of S1 and S2, ignoring case.  */
-extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
+extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 #endif /* Use BSD.  */
 
 #ifdef	__USE_GNU
 /* Again versions of a few functions which use the given locale instead
    of the global one.  */
-extern int strcasecmp_l (__const char *__s1, __const char *__s2,
+extern int strcasecmp_l (const char *__s1, const char *__s2,
 			 __locale_t __loc)
      __THROW __attribute_pure__ __nonnull ((1, 2, 3));
 
-extern int strncasecmp_l (__const char *__s1, __const char *__s2,
+extern int strncasecmp_l (const char *__s1, const char *__s2,
 			  size_t __n, __locale_t __loc)
      __THROW __attribute_pure__ __nonnull ((1, 2, 4));
 #endif
@@ -557,7 +555,7 @@ extern int strncasecmp_l (__const char *__s1, __const char *__s2,
 /* Return the next DELIM-delimited token from *STRINGP,
    terminating it with a '\0', and update *STRINGP to point past it.  */
 extern char *strsep (char **__restrict __stringp,
-		     __const char *__restrict __delim)
+		     const char *__restrict __delim)
      __THROW __nonnull ((1, 2));
 #endif
 
@@ -566,24 +564,24 @@ extern char *strsep (char **__restrict __stringp,
 extern char *strsignal (int __sig) __THROW;
 
 /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST.  */
-extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
+extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)
      __THROW __nonnull ((1, 2));
-extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
+extern char *stpcpy (char *__restrict __dest, const char *__restrict __src)
      __THROW __nonnull ((1, 2));
 
 /* Copy no more than N characters of SRC to DEST, returning the address of
    the last character written into DEST.  */
 extern char *__stpncpy (char *__restrict __dest,
-			__const char *__restrict __src, size_t __n)
+			const char *__restrict __src, size_t __n)
      __THROW __nonnull ((1, 2));
 extern char *stpncpy (char *__restrict __dest,
-		      __const char *__restrict __src, size_t __n)
+		      const char *__restrict __src, size_t __n)
      __THROW __nonnull ((1, 2));
 #endif
 
 #ifdef	__USE_GNU
 /* Compare S1 and S2 as strings holding name & indices/version numbers.  */
-extern int strverscmp (__const char *__s1, __const char *__s2)
+extern int strverscmp (const char *__s1, const char *__s2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Sautee STRING briskly.  */
@@ -600,10 +598,10 @@ extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1));
 #  ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++" char *basename (char *__filename)
      __THROW __asm ("basename") __nonnull ((1));
-extern "C++" __const char *basename (__const char *__filename)
+extern "C++" const char *basename (const char *__filename)
      __THROW __asm ("basename") __nonnull ((1));
 #  else
-extern char *basename (__const char *__filename) __THROW __nonnull ((1));
+extern char *basename (const char *__filename) __THROW __nonnull ((1));
 #  endif
 # endif
 #endif