strings.h (be04fec42638f30f50b5b55fd8e3634c0fb89928) | strings.h (5af6fbd72790173e128222943effc5aa95272ce9) |
---|---|
1/* $NetBSD: strings.h,v 1.3 2008/04/28 20:22:54 martin Exp $ */ 2 3/*- 4 * 5 * SPDX-License-Identifier: BSD-2-Clause 6 * 7 * Copyright (c) 2007 The NetBSD Foundation, Inc. 8 * All rights reserved. --- 25 unchanged lines hidden (view full) --- 34#ifndef _SSP_STRINGS_H_ 35#define _SSP_STRINGS_H_ 36 37#include <ssp/ssp.h> 38#include <string.h> 39 40#if __SSP_FORTIFY_LEVEL > 0 41 | 1/* $NetBSD: strings.h,v 1.3 2008/04/28 20:22:54 martin Exp $ */ 2 3/*- 4 * 5 * SPDX-License-Identifier: BSD-2-Clause 6 * 7 * Copyright (c) 2007 The NetBSD Foundation, Inc. 8 * All rights reserved. --- 25 unchanged lines hidden (view full) --- 34#ifndef _SSP_STRINGS_H_ 35#define _SSP_STRINGS_H_ 36 37#include <ssp/ssp.h> 38#include <string.h> 39 40#if __SSP_FORTIFY_LEVEL > 0 41 |
42#define _ssp_bcopy(srcvar, src, dstvar, dst, lenvar, len) ({ \ | 42#define _ssp_bcopy(srcvar, src, dstvar, dst, lenvar, len) __extension__ ({ \ |
43 const void *srcvar = (src); \ 44 void *dstvar = (dst); \ 45 size_t lenvar = (len); \ 46 ((__ssp_bos0(dstvar) != (size_t)-1) ? \ 47 __builtin___memmove_chk(dstvar, srcvar, lenvar, \ 48 __ssp_bos0(dstvar)) : \ 49 __memmove_ichk(dstvar, srcvar, lenvar)); \ 50}) 51 52#define bcopy(src, dst, len) \ 53 _ssp_bcopy(__ssp_var(srcv), src, __ssp_var(dstv), dst, __ssp_var(lenv), len) 54 | 43 const void *srcvar = (src); \ 44 void *dstvar = (dst); \ 45 size_t lenvar = (len); \ 46 ((__ssp_bos0(dstvar) != (size_t)-1) ? \ 47 __builtin___memmove_chk(dstvar, srcvar, lenvar, \ 48 __ssp_bos0(dstvar)) : \ 49 __memmove_ichk(dstvar, srcvar, lenvar)); \ 50}) 51 52#define bcopy(src, dst, len) \ 53 _ssp_bcopy(__ssp_var(srcv), src, __ssp_var(dstv), dst, __ssp_var(lenv), len) 54 |
55#define _ssp_bzero(dstvar, dst, lenvar, len) ({ \ | 55#define _ssp_bzero(dstvar, dst, lenvar, len) __extension__ ({ \ |
56 void *dstvar = (dst); \ 57 size_t lenvar = (len); \ 58 ((__ssp_bos0(dstvar) != (size_t)-1) ? \ 59 __builtin___memset_chk(dstvar, 0, lenvar, \ 60 __ssp_bos0(dstvar)) : \ 61 __memset_ichk(dstvar, 0, lenvar)); \ 62}) 63 64#define bzero(dst, len) _ssp_bzero(__ssp_var(dstv), dst, __ssp_var(lenv), len) 65 66#endif /* __SSP_FORTIFY_LEVEL > 0 */ 67#endif /* _SSP_STRINGS_H_ */ | 56 void *dstvar = (dst); \ 57 size_t lenvar = (len); \ 58 ((__ssp_bos0(dstvar) != (size_t)-1) ? \ 59 __builtin___memset_chk(dstvar, 0, lenvar, \ 60 __ssp_bos0(dstvar)) : \ 61 __memset_ichk(dstvar, 0, lenvar)); \ 62}) 63 64#define bzero(dst, len) _ssp_bzero(__ssp_var(dstv), dst, __ssp_var(lenv), len) 65 66#endif /* __SSP_FORTIFY_LEVEL > 0 */ 67#endif /* _SSP_STRINGS_H_ */ |