diff options
Diffstat (limited to 'include/string.h')
| -rw-r--r-- | include/string.h | 36 |
1 files changed, 12 insertions, 24 deletions
diff --git a/include/string.h b/include/string.h index e678863..5309cbc 100644 --- a/include/string.h +++ b/include/string.h | |||
| @@ -19,8 +19,7 @@ extern "C" { | |||
| 19 | #undef strncat | 19 | #undef strncat |
| 20 | #undef strncpy | 20 | #undef strncpy |
| 21 | 21 | ||
| 22 | extern void *__memcpy_orig(void *, const void *, size_t) | 22 | __typeof__(memcpy) __memcpy_orig __asm__(__USER_LABEL_PREFIX__ "memcpy"); |
| 23 | __asm__(__USER_LABEL_PREFIX__ "memcpy"); | ||
| 24 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 23 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 25 | void *memcpy(void *dest, const void *src, size_t n) | 24 | void *memcpy(void *dest, const void *src, size_t n) |
| 26 | { | 25 | { |
| @@ -38,8 +37,7 @@ void *memcpy(void *dest, const void *src, size_t n) | |||
| 38 | return __memcpy_orig(dest, src, n); | 37 | return __memcpy_orig(dest, src, n); |
| 39 | } | 38 | } |
| 40 | 39 | ||
| 41 | extern void *__memmove_orig(void *, const void *, size_t) | 40 | __typeof__(memmove) __memmove_orig __asm__(__USER_LABEL_PREFIX__ "memmove"); |
| 42 | __asm__(__USER_LABEL_PREFIX__ "memmove"); | ||
| 43 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 41 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 44 | void *memmove(void *dest, const void *src, size_t n) | 42 | void *memmove(void *dest, const void *src, size_t n) |
| 45 | { | 43 | { |
| @@ -50,8 +48,7 @@ void *memmove(void *dest, const void *src, size_t n) | |||
| 50 | return __memmove_orig(dest, src, n); | 48 | return __memmove_orig(dest, src, n); |
| 51 | } | 49 | } |
| 52 | 50 | ||
| 53 | extern void *__memset_orig(void *, int, size_t) | 51 | __typeof__(memset) __memset_orig __asm__(__USER_LABEL_PREFIX__ "memset"); |
| 54 | __asm__(__USER_LABEL_PREFIX__ "memset"); | ||
| 55 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 52 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 56 | void *memset(void *dest, int c, size_t n) | 53 | void *memset(void *dest, int c, size_t n) |
| 57 | { | 54 | { |
| @@ -62,8 +59,7 @@ void *memset(void *dest, int c, size_t n) | |||
| 62 | return __memset_orig(dest, c, n); | 59 | return __memset_orig(dest, c, n); |
| 63 | } | 60 | } |
| 64 | 61 | ||
| 65 | extern char *__stpcpy_orig(char *, const char *) | 62 | __typeof__(stpcpy) __stpcpy_orig __asm__(__USER_LABEL_PREFIX__ "stpcpy"); |
| 66 | __asm__(__USER_LABEL_PREFIX__ "stpcpy"); | ||
| 67 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 63 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 68 | char *stpcpy(char *dest, const char *src) | 64 | char *stpcpy(char *dest, const char *src) |
| 69 | { | 65 | { |
| @@ -74,8 +70,7 @@ char *stpcpy(char *dest, const char *src) | |||
| 74 | return __stpcpy_orig(dest, src); | 70 | return __stpcpy_orig(dest, src); |
| 75 | } | 71 | } |
| 76 | 72 | ||
| 77 | extern char *__stpncpy_orig(char *, const char *, size_t) | 73 | __typeof__(stpncpy) __stpncpy_orig __asm__(__USER_LABEL_PREFIX__ "stpncpy"); |
| 78 | __asm__(__USER_LABEL_PREFIX__ "stpncpy"); | ||
| 79 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 74 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 80 | char *stpncpy(char *dest, const char *src, size_t n) | 75 | char *stpncpy(char *dest, const char *src, size_t n) |
| 81 | { | 76 | { |
| @@ -86,8 +81,7 @@ char *stpncpy(char *dest, const char *src, size_t n) | |||
| 86 | return __stpncpy_orig(dest, src, n); | 81 | return __stpncpy_orig(dest, src, n); |
| 87 | } | 82 | } |
| 88 | 83 | ||
| 89 | extern char *__strcat_orig(char *, const char *) | 84 | __typeof__(strcat) __strcat_orig __asm__(__USER_LABEL_PREFIX__ "strcat"); |
| 90 | __asm__(__USER_LABEL_PREFIX__ "strcat"); | ||
| 91 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 85 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 92 | char *strcat(char *dest, const char *src) | 86 | char *strcat(char *dest, const char *src) |
| 93 | { | 87 | { |
| @@ -98,8 +92,7 @@ char *strcat(char *dest, const char *src) | |||
| 98 | return __strcat_orig(dest, src); | 92 | return __strcat_orig(dest, src); |
| 99 | } | 93 | } |
| 100 | 94 | ||
| 101 | extern char *__strcpy_orig(char *, const char *) | 95 | __typeof__(strcpy) __strcpy_orig __asm__(__USER_LABEL_PREFIX__ "strcpy"); |
| 102 | __asm__(__USER_LABEL_PREFIX__ "strcpy"); | ||
| 103 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 96 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 104 | char *strcpy(char *dest, const char *src) | 97 | char *strcpy(char *dest, const char *src) |
| 105 | { | 98 | { |
| @@ -110,8 +103,7 @@ char *strcpy(char *dest, const char *src) | |||
| 110 | return __strcpy_orig(dest, src); | 103 | return __strcpy_orig(dest, src); |
| 111 | } | 104 | } |
| 112 | 105 | ||
| 113 | extern char *__strncat_orig(char *, const char *, size_t) | 106 | __typeof__(strncat) __strncat_orig __asm__(__USER_LABEL_PREFIX__ "strncat"); |
| 114 | __asm__(__USER_LABEL_PREFIX__ "strncat"); | ||
| 115 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 107 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 116 | char *strncat(char *dest, const char *src, size_t n) | 108 | char *strncat(char *dest, const char *src, size_t n) |
| 117 | { | 109 | { |
| @@ -129,8 +121,7 @@ char *strncat(char *dest, const char *src, size_t n) | |||
| 129 | return __strncat_orig(dest, src, n); | 121 | return __strncat_orig(dest, src, n); |
| 130 | } | 122 | } |
| 131 | 123 | ||
| 132 | extern char *__strncpy_orig(char *, const char *, size_t) | 124 | __typeof__(strncpy) __strncpy_orig __asm__(__USER_LABEL_PREFIX__ "strncpy"); |
| 133 | __asm__(__USER_LABEL_PREFIX__ "strncpy"); | ||
| 134 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 125 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 135 | char *strncpy(char *dest, const char *src, size_t n) | 126 | char *strncpy(char *dest, const char *src, size_t n) |
| 136 | { | 127 | { |
| @@ -143,8 +134,7 @@ char *strncpy(char *dest, const char *src, size_t n) | |||
| 143 | 134 | ||
| 144 | #ifdef _GNU_SOURCE | 135 | #ifdef _GNU_SOURCE |
| 145 | #undef mempcpy | 136 | #undef mempcpy |
| 146 | extern void *__mempcpy_orig(void *, const void *, size_t n) | 137 | __typeof__(mempcpy) __mempcpy_orig __asm__(__USER_LABEL_PREFIX__ "mempcpy"); |
| 147 | __asm__(__USER_LABEL_PREFIX__ "mempcpy"); | ||
| 148 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 138 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 149 | void *mempcpy(void *dest, const void *src, size_t n) | 139 | void *mempcpy(void *dest, const void *src, size_t n) |
| 150 | { | 140 | { |
| @@ -159,8 +149,7 @@ void *mempcpy(void *dest, const void *src, size_t n) | |||
| 159 | #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) | 149 | #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| 160 | #undef strlcat | 150 | #undef strlcat |
| 161 | #undef strlcpy | 151 | #undef strlcpy |
| 162 | extern size_t __strlcat_orig(char *, const char *, size_t) | 152 | __typeof__(strlcat) __strlcat_orig __asm__(__USER_LABEL_PREFIX__ "strlcat"); |
| 163 | __asm__(__USER_LABEL_PREFIX__ "strlcat"); | ||
| 164 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 153 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 165 | size_t strlcat(char *dest, const char *src, size_t n) | 154 | size_t strlcat(char *dest, const char *src, size_t n) |
| 166 | { | 155 | { |
| @@ -171,8 +160,7 @@ size_t strlcat(char *dest, const char *src, size_t n) | |||
| 171 | return __strlcat_orig(dest, src, n); | 160 | return __strlcat_orig(dest, src, n); |
| 172 | } | 161 | } |
| 173 | 162 | ||
| 174 | extern size_t __strlcpy_orig(char *, const char *, size_t) | 163 | __typeof__(strlcpy) __strlcpy_orig __asm__(__USER_LABEL_PREFIX__ "strlcpy"); |
| 175 | __asm__(__USER_LABEL_PREFIX__ "strlcpy"); | ||
| 176 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 164 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 177 | size_t strlcpy(char *dest, const char *src, size_t n) | 165 | size_t strlcpy(char *dest, const char *src, size_t n) |
| 178 | { | 166 | { |
