summaryrefslogtreecommitdiff
path: root/include/wchar.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/wchar.h')
-rw-r--r--include/wchar.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/wchar.h b/include/wchar.h
index 2f405b9..a482371 100644
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -115,6 +115,30 @@ __fortify_wcsncpy(wchar_t *d, const wchar_t *s, size_t n)
115} 115}
116 116
117static inline __attribute__ ((always_inline)) 117static inline __attribute__ ((always_inline))
118size_t
119__fortify_wcsnrtombs(char *d, const wchar_t **s, size_t wn,
120 size_t n, mbstate_t *st)
121{
122 size_t bos = __builtin_object_size(d, 0);
123
124 if (n > bos)
125 __builtin_trap();
126 return wcsnrtombs(d, s, wn, n, st);
127}
128
129static inline __attribute__ ((always_inline))
130size_t
131__fortify_wcsrtombs(char *d, const wchar_t **s, size_t n,
132 mbstate_t *st)
133{
134 size_t bos = __builtin_object_size(d, 0);
135
136 if (n > bos)
137 __builtin_trap();
138 return wcsrtombs(d, s, n, st);
139}
140
141static inline __attribute__ ((always_inline))
118wchar_t * 142wchar_t *
119__fortify_wmemcpy(wchar_t *d, const wchar_t *s, size_t n) 143__fortify_wmemcpy(wchar_t *d, const wchar_t *s, size_t n)
120{ 144{
@@ -165,6 +189,10 @@ __fortify_wmemset(wchar_t *s, wchar_t c, size_t n)
165#define wcsncat(d, s, n) __fortify_wcsncat(d, s, n) 189#define wcsncat(d, s, n) __fortify_wcsncat(d, s, n)
166#undef wcsncpy 190#undef wcsncpy
167#define wcsncpy(d, s, n) __fortify_wcsncpy(d, s, n) 191#define wcsncpy(d, s, n) __fortify_wcsncpy(d, s, n)
192#undef wcsnrtombs
193#define wcsnrtombs(d, s, wn, n, st) __fortify_wcsnrtombs(d, s, wn, n, st)
194#undef wcsrtombs
195#define wcsrtombs(d, s, n, st) __fortify_wcsrtombs(d, s, n, st)
168#undef wmemcpy 196#undef wmemcpy
169#define wmemcpy(d, s, n) __fortify_wmemcpy(d, s, n) 197#define wmemcpy(d, s, n) __fortify_wmemcpy(d, s, n)
170#undef wmemmove 198#undef wmemmove