OLD | NEW |
1 #ifndef»_STRING_H | 1 #ifndef _STRING_H |
2 #define»_STRING_H | 2 #define _STRING_H |
3 | 3 |
4 #ifdef __cplusplus | 4 #ifdef __cplusplus |
5 extern "C" { | 5 extern "C" { |
6 #endif | 6 #endif |
7 | 7 |
8 #include <features.h> | 8 #include <features.h> |
9 | 9 |
10 #ifdef __cplusplus | 10 #ifdef __cplusplus |
11 #define NULL 0L | 11 #define NULL 0L |
12 #else | 12 #else |
13 #define NULL ((void*)0) | 13 #define NULL ((void*)0) |
14 #endif | 14 #endif |
15 | 15 |
16 #define __NEED_size_t | 16 #define __NEED_size_t |
17 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ | 17 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || \ |
18 || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ | 18 defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
19 || defined(_BSD_SOURCE) | |
20 #define __NEED_locale_t | 19 #define __NEED_locale_t |
21 #endif | 20 #endif |
22 | 21 |
23 #include <bits/alltypes.h> | 22 #include <bits/alltypes.h> |
24 | 23 |
25 void *memcpy (void *__restrict, const void *__restrict, size_t); | 24 void* memcpy(void* __restrict, const void* __restrict, size_t); |
26 void *memmove (void *, const void *, size_t); | 25 void* memmove(void*, const void*, size_t); |
27 void *memset (void *, int, size_t); | 26 void* memset(void*, int, size_t); |
28 int memcmp (const void *, const void *, size_t); | 27 int memcmp(const void*, const void*, size_t); |
29 void *memchr (const void *, int, size_t); | 28 void* memchr(const void*, int, size_t); |
30 | 29 |
31 char *strcpy (char *__restrict, const char *__restrict); | 30 char* strcpy(char* __restrict, const char* __restrict); |
32 char *strncpy (char *__restrict, const char *__restrict, size_t); | 31 char* strncpy(char* __restrict, const char* __restrict, size_t); |
33 | 32 |
34 char *strcat (char *__restrict, const char *__restrict); | 33 char* strcat(char* __restrict, const char* __restrict); |
35 char *strncat (char *__restrict, const char *__restrict, size_t); | 34 char* strncat(char* __restrict, const char* __restrict, size_t); |
36 | 35 |
37 int strcmp (const char *, const char *); | 36 int strcmp(const char*, const char*); |
38 int strncmp (const char *, const char *, size_t); | 37 int strncmp(const char*, const char*, size_t); |
39 | 38 |
40 int strcoll (const char *, const char *); | 39 int strcoll(const char*, const char*); |
41 size_t strxfrm (char *__restrict, const char *__restrict, size_t); | 40 size_t strxfrm(char* __restrict, const char* __restrict, size_t); |
42 | 41 |
43 char *strchr (const char *, int); | 42 char* strchr(const char*, int); |
44 char *strrchr (const char *, int); | 43 char* strrchr(const char*, int); |
45 | 44 |
46 size_t strcspn (const char *, const char *); | 45 size_t strcspn(const char*, const char*); |
47 size_t strspn (const char *, const char *); | 46 size_t strspn(const char*, const char*); |
48 char *strpbrk (const char *, const char *); | 47 char* strpbrk(const char*, const char*); |
49 char *strstr (const char *, const char *); | 48 char* strstr(const char*, const char*); |
50 char *strtok (char *__restrict, const char *__restrict); | 49 char* strtok(char* __restrict, const char* __restrict); |
51 | 50 |
52 size_t strlen (const char *); | 51 size_t strlen(const char*); |
53 | 52 |
54 char *strerror (int); | 53 char* strerror(int); |
55 | 54 |
56 #if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) | 55 #if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) |
57 #include <strings.h> | 56 #include <strings.h> |
58 #endif | 57 #endif |
59 | 58 |
60 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ | 59 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || \ |
61 || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ | 60 defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
62 || defined(_BSD_SOURCE) | 61 char* strtok_r(char* __restrict, const char* __restrict, char** __restrict); |
63 char *strtok_r (char *__restrict, const char *__restrict, char **__restrict); | 62 int strerror_r(int, char*, size_t); |
64 int strerror_r (int, char *, size_t); | 63 char* stpcpy(char* __restrict, const char* __restrict); |
65 char *stpcpy(char *__restrict, const char *__restrict); | 64 char* stpncpy(char* __restrict, const char* __restrict, size_t); |
66 char *stpncpy(char *__restrict, const char *__restrict, size_t); | 65 size_t strnlen(const char*, size_t); |
67 size_t strnlen (const char *, size_t); | 66 char* strdup(const char*); |
68 char *strdup (const char *); | 67 char* strndup(const char*, size_t); |
69 char *strndup (const char *, size_t); | 68 char* strsignal(int); |
70 char *strsignal(int); | 69 char* strerror_l(int, locale_t); |
71 char *strerror_l (int, locale_t); | 70 int strcoll_l(const char*, const char*, locale_t); |
72 int strcoll_l (const char *, const char *, locale_t); | 71 size_t strxfrm_l(char* __restrict, const char* __restrict, size_t, locale_t); |
73 size_t strxfrm_l (char *__restrict, const char *__restrict, size_t, locale_t); | |
74 #endif | 72 #endif |
75 | 73 |
76 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ | 74 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
77 || defined(_BSD_SOURCE) | 75 void* memccpy(void* __restrict, const void* __restrict, int, size_t); |
78 void *memccpy (void *__restrict, const void *__restrict, int, size_t); | |
79 #endif | 76 #endif |
80 | 77 |
81 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) | 78 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
82 char *strsep(char **, const char *); | 79 char* strsep(char**, const char*); |
83 size_t strlcat (char *, const char *, size_t); | 80 size_t strlcat(char*, const char*, size_t); |
84 size_t strlcpy (char *, const char *, size_t); | 81 size_t strlcpy(char*, const char*, size_t); |
85 #endif | 82 #endif |
86 | 83 |
87 #ifdef _GNU_SOURCE | 84 #ifdef _GNU_SOURCE |
88 #define»strdupa(x)» strcpy(alloca(strlen(x)+1),x) | 85 #define strdupa(x) strcpy(alloca(strlen(x) + 1), x) |
89 int strverscmp (const char *, const char *); | 86 int strverscmp(const char*, const char*); |
90 int strcasecmp_l (const char *, const char *, locale_t); | 87 int strcasecmp_l(const char*, const char*, locale_t); |
91 int strncasecmp_l (const char *, const char *, size_t, locale_t); | 88 int strncasecmp_l(const char*, const char*, size_t, locale_t); |
92 char *strchrnul(const char *, int); | 89 char* strchrnul(const char*, int); |
93 char *strcasestr(const char *, const char *); | 90 char* strcasestr(const char*, const char*); |
94 void *memmem(const void *, size_t, const void *, size_t); | 91 void* memmem(const void*, size_t, const void*, size_t); |
95 void *memrchr(const void *, int, size_t); | 92 void* memrchr(const void*, int, size_t); |
96 void *mempcpy(void *, const void *, size_t); | 93 void* mempcpy(void*, const void*, size_t); |
97 #ifndef __cplusplus | 94 #ifndef __cplusplus |
98 char *basename(); | 95 char* basename(); |
99 #endif | 96 #endif |
100 #endif | 97 #endif |
101 | 98 |
102 #ifdef __cplusplus | 99 #ifdef __cplusplus |
103 } | 100 } |
104 #endif | 101 #endif |
105 | 102 |
106 #endif | 103 #endif |
OLD | NEW |