xref: /openbsd-src/gnu/lib/libiberty/src/memset.c (revision 8500990981f885cbe5e6a4958549cacc238b5ae6)
1 /* memset
2    This implementation is in the public domain.  */
3 
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 
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 }
31