xref: /netbsd-src/external/gpl3/gcc.old/dist/libiberty/memset.c (revision 1debfc3d3fad8af6f31804271c18e67f77b4d718)
1*1debfc3dSmrg /* memset
2*1debfc3dSmrg    This implementation is in the public domain.  */
3*1debfc3dSmrg 
4*1debfc3dSmrg /*
5*1debfc3dSmrg 
6*1debfc3dSmrg @deftypefn Supplemental void* memset (void *@var{s}, int @var{c}, @
7*1debfc3dSmrg   size_t @var{count})
8*1debfc3dSmrg 
9*1debfc3dSmrg Sets the first @var{count} bytes of @var{s} to the constant byte
10*1debfc3dSmrg @var{c}, returning a pointer to @var{s}.
11*1debfc3dSmrg 
12*1debfc3dSmrg @end deftypefn
13*1debfc3dSmrg 
14*1debfc3dSmrg */
15*1debfc3dSmrg 
16*1debfc3dSmrg #include <ansidecl.h>
17*1debfc3dSmrg #include <stddef.h>
18*1debfc3dSmrg 
19*1debfc3dSmrg PTR
memset(PTR dest,register int val,register size_t len)20*1debfc3dSmrg memset (PTR dest, register int val, register size_t len)
21*1debfc3dSmrg {
22*1debfc3dSmrg   register unsigned char *ptr = (unsigned char*)dest;
23*1debfc3dSmrg   while (len-- > 0)
24*1debfc3dSmrg     *ptr++ = val;
25*1debfc3dSmrg   return dest;
26*1debfc3dSmrg }
27