提交 82201353 创建 作者: rsc's avatar rsc

xv6: use stosb for memset

上级 c396d065
#include "types.h" #include "types.h"
#include "x86.h"
void* void*
memset(void *dst, int c, uint n) memset(void *dst, int c, uint n)
{ {
char *d; stosb(dst, c, n);
d = (char*)dst;
while(n-- > 0)
*d++ = c;
return dst; return dst;
} }
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include "stat.h" #include "stat.h"
#include "fcntl.h" #include "fcntl.h"
#include "user.h" #include "user.h"
#include "x86.h"
char* char*
strcpy(char *s, char *t) strcpy(char *s, char *t)
...@@ -35,11 +36,7 @@ strlen(char *s) ...@@ -35,11 +36,7 @@ strlen(char *s)
void* void*
memset(void *dst, int c, uint n) memset(void *dst, int c, uint n)
{ {
char *d; stosb(dst, c, n);
d = dst;
while(n-- > 0)
*d++ = c;
return dst; return dst;
} }
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论