summaryrefslogtreecommitdiff
path: root/string.c
diff options
context:
space:
mode:
authorRobert Morris <[email protected]>2011-09-01 12:03:49 -0400
committerRobert Morris <[email protected]>2011-09-01 12:03:49 -0400
commit62e3b8a92c6f8840cec8a0db13b2bcad10192b4a (patch)
tree6186d2ac5e654ba71f8f45ae9956c560d7251dfc /string.c
parent5a236924444db768813d726ae165d263856d8bff (diff)
parentd0f3efca650eccd5179e045cd07f7d723037defc (diff)
downloadxv6-labs-62e3b8a92c6f8840cec8a0db13b2bcad10192b4a.tar.gz
xv6-labs-62e3b8a92c6f8840cec8a0db13b2bcad10192b4a.tar.bz2
xv6-labs-62e3b8a92c6f8840cec8a0db13b2bcad10192b4a.zip
Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6
Conflicts: vm.c
Diffstat (limited to 'string.c')
-rw-r--r--string.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/string.c b/string.c
index a557dc5..d066c18 100644
--- a/string.c
+++ b/string.c
@@ -4,7 +4,11 @@
void*
memset(void *dst, int c, uint n)
{
- stosb(dst, c, n);
+ if ((int)dst%4 == 0 && n%4 == 0){
+ c &= 0xFF;
+ stosl(dst, (c<<24)|(c<<16)|(c<<8)|c, n/4);
+ } else
+ stosb(dst, c, n);
return dst;
}