projects
/
linux-2.6
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6]
/
arch
/
m68knommu
/
lib
/
memset.c
1
#include <linux/types.h>
2
3
void * memset(void * s, int c, size_t count)
4
{
5
void *xs = s;
6
size_t temp;
7
8
if (!count)
9
return xs;
10
c &= 0xff;
11
c |= c << 8;
12
c |= c << 16;
13
if ((long) s & 1)
14
{
15
char *cs = s;
16
*cs++ = c;
17
s = cs;
18
count--;
19
}
20
if (count > 2 && (long) s & 2)
21
{
22
short *ss = s;
23
*ss++ = c;
24
s = ss;
25
count -= 2;
26
}
27
temp = count >> 2;
28
if (temp)
29
{
30
long *ls = s;
31
for (; temp; temp--)
32
*ls++ = c;
33
s = ls;
34
}
35
if (count & 2)
36
{
37
short *ss = s;
38
*ss++ = c;
39
s = ss;
40
}
41
if (count & 1)
42
{
43
char *cs = s;
44
*cs = c;
45
}
46
return xs;
47
}