Commit | Line | Data |
---|---|---|
252b5132 RH |
1 | /* memset |
2 | This implementation is in the public domain. */ | |
3 | ||
39423523 DD |
4 | /* |
5 | ||
6 | @deftypefn Supplemental void* memset (void *@var{s}, int @var{c}, size_t @var{count}) | |
7 | ||
8 | Sets the first @var{count} bytes of @var{s} to the constant byte | |
9 | @var{c}, returning a pointer to @var{s}. | |
10 | ||
11 | @end deftypefn | |
12 | ||
13 | */ | |
14 | ||
252b5132 RH |
15 | #include <ansidecl.h> |
16 | #ifdef __STDC__ | |
17 | #include <stddef.h> | |
18 | #else | |
19 | #define size_t unsigned long | |
20 | #endif | |
21 | ||
22 | PTR | |
23 | DEFUN(memset, (dest, val, len), | |
24 | PTR dest AND register int val AND register size_t len) | |
25 | { | |
26 | register unsigned char *ptr = (unsigned char*)dest; | |
27 | while (len-- > 0) | |
28 | *ptr++ = val; | |
29 | return dest; | |
30 | } |