133965Sjdp/* memset
233965Sjdp   This implementation is in the public domain.  */
333965Sjdp
489857Sobrien/*
589857Sobrien
689857Sobrien@deftypefn Supplemental void* memset (void *@var{s}, int @var{c}, size_t @var{count})
789857Sobrien
889857SobrienSets the first @var{count} bytes of @var{s} to the constant byte
989857Sobrien@var{c}, returning a pointer to @var{s}.
1089857Sobrien
1189857Sobrien@end deftypefn
1289857Sobrien
1389857Sobrien*/
1489857Sobrien
1533965Sjdp#include <ansidecl.h>
1633965Sjdp#include <stddef.h>
1733965Sjdp
1833965SjdpPTR
19218822Sdimmemset (PTR dest, register int val, register size_t len)
2033965Sjdp{
2133965Sjdp  register unsigned char *ptr = (unsigned char*)dest;
2233965Sjdp  while (len-- > 0)
2333965Sjdp    *ptr++ = val;
2433965Sjdp  return dest;
2533965Sjdp}
26