aboutsummaryrefslogtreecommitdiff
path: root/newlib/libc/include/ssp/stdlib.h
blob: d5edb6d09c38d0857f579540821e934175b9e78a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef _SSP_STDLIB_H_
#define _SSP_STDLIB_H_

#include <ssp/ssp.h>

#if __SSP_FORTIFY_LEVEL > 0
__BEGIN_DECLS

__ssp_decl(size_t, mbstowcs, (wchar_t *__buf, const char *__src, size_t __n))
{
  if (__buf != NULL)
    __ssp_check(__buf, __n * sizeof(wchar_t), __ssp_bos);
  return __ssp_real_mbstowcs (__buf, __src, __n);
}

__ssp_redirect_raw(size_t, wcstombs, \
    (char *__buf, const wchar_t *__src, size_t __len), \
    (__buf, __src, __len), __buf != NULL, __ssp_bos);

__ssp_decl(int, wctomb, (char *__buf, wchar_t __wc))
{
  if (__buf != NULL)
    __ssp_check(__buf, MB_CUR_MAX, __ssp_bos);
  return __ssp_real_wctomb (__buf, __wc);
}

__END_DECLS

#endif /* __SSP_FORTIFY_LEVEL > 0 */
#endif /* _SSP_STDLIB_H_ */