Memset function in C
#define memset(dest, val, len) \
((__darwin_obsz0 (dest) != (size_t) -1) \
? __builtin___memset_chk (dest, val, len, __darwin_obsz0 (dest)) \
: __inline_memset_chk (dest, val, len))
static __inline void *
__inline_memset_chk (void *__dest, int __val, size_t __len)
{
return __builtin___memset_chk (__dest, __val, __len,
__darwin_obsz0(__dest));
}
I dig deeper into the definition of the memset function and I got the above.
1)what's the meaning of (__darwin_obsz0 (dest) != (size_t) -1) ? I mean
size_t is just a type like int. size_t -1?
2) how's this __ builtin___memset_chk? Is that a Macro? how is that defined?
No comments:
Post a Comment