summaryrefslogtreecommitdiff
path: root/include/string.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/string.h')
-rw-r--r--include/string.h36
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
22extern void *__memcpy_orig(void *, const void *, size_t) 22__typeof__(memcpy) __memcpy_orig __asm__(__USER_LABEL_PREFIX__ "memcpy");
23 __asm__(__USER_LABEL_PREFIX__ "memcpy");
24extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 23extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
25void *memcpy(void *dest, const void *src, size_t n) 24void *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
41extern void *__memmove_orig(void *, const void *, size_t) 40__typeof__(memmove) __memmove_orig __asm__(__USER_LABEL_PREFIX__ "memmove");
42 __asm__(__USER_LABEL_PREFIX__ "memmove");
43extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 41extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
44void *memmove(void *dest, const void *src, size_t n) 42void *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
53extern void *__memset_orig(void *, int, size_t) 51__typeof__(memset) __memset_orig __asm__(__USER_LABEL_PREFIX__ "memset");
54 __asm__(__USER_LABEL_PREFIX__ "memset");
55extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 52extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
56void *memset(void *dest, int c, size_t n) 53void *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
65extern char *__stpcpy_orig(char *, const char *) 62__typeof__(stpcpy) __stpcpy_orig __asm__(__USER_LABEL_PREFIX__ "stpcpy");
66 __asm__(__USER_LABEL_PREFIX__ "stpcpy");
67extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 63extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
68char *stpcpy(char *dest, const char *src) 64char *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
77extern char *__stpncpy_orig(char *, const char *, size_t) 73__typeof__(stpncpy) __stpncpy_orig __asm__(__USER_LABEL_PREFIX__ "stpncpy");
78 __asm__(__USER_LABEL_PREFIX__ "stpncpy");
79extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 74extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
80char *stpncpy(char *dest, const char *src, size_t n) 75char *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
89extern char *__strcat_orig(char *, const char *) 84__typeof__(strcat) __strcat_orig __asm__(__USER_LABEL_PREFIX__ "strcat");
90 __asm__(__USER_LABEL_PREFIX__ "strcat");
91extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 85extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
92char *strcat(char *dest, const char *src) 86char *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
101extern char *__strcpy_orig(char *, const char *) 95__typeof__(strcpy) __strcpy_orig __asm__(__USER_LABEL_PREFIX__ "strcpy");
102 __asm__(__USER_LABEL_PREFIX__ "strcpy");
103extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 96extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
104char *strcpy(char *dest, const char *src) 97char *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
113extern char *__strncat_orig(char *, const char *, size_t) 106__typeof__(strncat) __strncat_orig __asm__(__USER_LABEL_PREFIX__ "strncat");
114 __asm__(__USER_LABEL_PREFIX__ "strncat");
115extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 107extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
116char *strncat(char *dest, const char *src, size_t n) 108char *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
132extern char *__strncpy_orig(char *, const char *, size_t) 124__typeof__(strncpy) __strncpy_orig __asm__(__USER_LABEL_PREFIX__ "strncpy");
133 __asm__(__USER_LABEL_PREFIX__ "strncpy");
134extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 125extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
135char *strncpy(char *dest, const char *src, size_t n) 126char *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
146extern 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");
148extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 138extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
149void *mempcpy(void *dest, const void *src, size_t n) 139void *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
162extern 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");
164extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 153extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
165size_t strlcat(char *dest, const char *src, size_t n) 154size_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
174extern 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");
176extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 164extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
177size_t strlcpy(char *dest, const char *src, size_t n) 165size_t strlcpy(char *dest, const char *src, size_t n)
178{ 166{