关于strcpy函数的问题

内核编译和嵌入式产品的设计与开发
回复
huangyingw
帖子: 53
注册时间: 2008-03-05 21:42

关于strcpy函数的问题

#1

帖子 huangyingw » 2008-12-29 23:22

以下是其源代码,那个__ptrlow函数是在哪定义的?我搜遍了整个glibc都没找到其实现,望高手赐教
# define CHECK_BOUNDS_LOW(ARG) \
(((__ptrvalue (ARG) < __ptrlow (ARG)) && BOUNDS_VIOLATED), \
__ptrvalue (ARG))


char *
strcpy (
char *dest,
const char *src
)
{
reg_char c;
char *__unbounded s = (char *__unbounded) CHECK_BOUNDS_LOW (src);
const ptrdiff_t off = CHECK_BOUNDS_LOW (dest) - s - 1;
size_t n;

do
{
c = *s++;
s[off] = c;
}
while (c != '\0');

n = s - src;
(void) CHECK_BOUNDS_HIGH (src + n);
(void) CHECK_BOUNDS_HIGH (dest + n);

return dest;
}
回复