diff options
Diffstat (limited to 'string/string.h')
-rw-r--r-- | string/string.h | 176 |
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 |